■■■■■■■■■■■■■■■
1^ ^IHI Az Országos Commodore Egyesület lapja
i-10331
ELEKTRON IK
Urbán István mérnök áramköreinek szaküzlete
Budapest VII., Dózsa György út 16. (Dózsa-Jobbágy sarok)
Nyitva: H-P 10-17-lg Tel./fax: 122-8892
(Zárás után üzenetrögzítő)
Több, mint tíz éve frok a Rádiótechnikában, vezetem a „Zenei hobby elektronika" fejlécű rovatot. A közölt témák
nagyrészéhez szakOzletemben - működő minta alapján - vásárolhat panelokat, részegységdcet, egységcsomagokat.
KÍNÁLATUNKBÓL;
SZÁMÍTÁSTECHNIKA:
I—
C64 bővítők:
egys.
éleszt. 1
RT89/3
PLOFI Datassettecartridge...
.1200 Ff..
...1500 Ft
PLOFIDatassetle^romon.
,1300 Ft..
...1700 Ft
PLOFI Datasselte/help.
.1300 Ft ,
,.,1700Fl
RT89/10 PLOFIFastloadcartridge.
.1300 Ft.,
...1700 Ft
PLOFI Fastioad speedtape....
.1400 Ft.,
...1900 Ft
RT90/3
PLOFI Simon's canridge.
.1300 Ft..
...1700 Ft
FINALIIIcantidge.
... 3450 Ft
ACTION Replay’vil.
...3450 Ft
RT89/11 Fényceruza, szoftverrel.
...950 Ft..
...1250 Ft
RT90/8
Hangdigitalizáló * szoftver.
.1350 Ft..
...1660 Ft
HE90/8
Hangkapcsoló.
... 300 Ft
RT89/4
EPROM-égető.
.3400 Ft..
...4500 Ft
Égető szoftver lemezen.
.1300 Ft
Égető szoftvercariridge.
.1300 Ft..
...1700 Ft
User csatlakozó.
... 300 Ft
RT91/3
EPROM-bank (256 Kbájt).
.2900Ft.
,4000 Ft
RT91/10 ICíesTter.
.3000 Ft,.
..4500 Ft
RT91/7
Dalassette gyorsmásoló.
,.,60OFt
HE91/7
Dalasseltelejbeállltó.
...350 Ft
HE90/12 CPU stop t rését.
,.,400 Ft
. PAGEFOXszővegszerkesztö
.3900 Ft
.MiniEPROM-bank.
.2300 Ft..
„3000 Ft ,
1
IBM bővítők:
egys.
éleszt.
flT91/4,5 IBM IC tesaer + szoftver. 5900 Ft.9800 Ft
FIT91/11.12 IBM EPROM-égető
t szoftver.4800 Ft. 9900 Ft
RT91/6 48csat. KOkártya.3500 Ft
HE92r2 User-Centronrcscsatlakozö.950 Ft
RT92/3 TTL IC katakSgrjs lemezen.600 Ft
CMOS IC katalógus lemezen.600 Ft
Dióda katalógus lemezen.600 Ft
T ranzisztor katatógus lemezen „ .600 Ft
ZENE - HANGTECHNIKA:
RT87/10 Fuzztrox torzító. 6t0Ft
RT90.'1 KORG DST -1 torzító 1200 Ft
.KORG DST-3 torzító 1400 Ft
HE90/1 KORG OVERDRIVE torzító.920 Ft
RT87/12 Vau-vau gitáreffekt... 640 Ft
RT88/9 Sztereó tremoló.980 Ft
RT88/7 Shrfter.1200 Ft
HE90f7 Kiszajúgitárelőerösítö.700 Ft
RT89r5 Sztereóelőerösítö.1500 Ft
HE91/12 Hangirekvenciás erősítő.490 Ft
RT89r8 2 X14 W sztereó erősítő.990 Ft
RT89/12 2 X 40 W sztereó erősítő.1800 Ft
RT89/1 lOOW-oserősltő.1600 Ft
RT90/3 Ritmusgép 32 rkmussat.2500 Ft
RT90/10 Dobszintetizátor.3500 Ft
RT88r3 Süvóltőgiáreflekt...780 Ft
RT87/11 Ringmodulátor.995 Ft
RT92Í4 Oktávemelö.700 Ft
.VisszhangosítóMN3005-tel.4800 Ft
VIDEÓS TÉMÁK:
FÉNYTECHNIKA:
RT8B/10 Diszkófény II (írlak nélkül). 1400 Ft
Diszkófény II (Iriakkal).3000 Ft
RT88ri2 Fényorgona.2000 Ft
RT90/2 Programozható futólény. 1200 Ft
RT91 /I 8 X 8-as fénymátrix
-f 16 K EPROM.2000 Fi
8 X 8-hoz LED panel
10 mm-es LED-ekkel.2000 Fi
RT89/6 Kivezétlésjelzö.700 Fi
RT91/e Sziporkázó szingyürü.650 Fi
Kétszínű LED.48 Ft
HE91/10 Karácsonyi fényjáték.700 Ft
HE92/8 KnighI Rider futófény.950 Ft
EGYÉB HOBBI TÉMÁK:
RT88(T0 Dallamgenerátor Z80-nal. 1500 Ft
HE91 fi Dallamgenerálor UM3481 -84.800 Ft
HE91/5 Dallamgenerátor LIM66Txx.480 Ft
HE91 /4 Beszédfelrsmerö VCP200-zal.750 Ft
VCP200. 1950 Ft
HE9112 Kulyaugatás szintetizátor.600 Ft
RT91/8 Eb-vezérlő.400 Ft
HE91.'6 Szünyogriaszló.700 Ft
HE91/9 Mullisziréna.480 Ft
RT92i'6 RGB generátor. 1760 Ft
RTOTflI PALkóder.1400 Ft
Az árak a 25% ÁFA-t tartalmazzák!
Választékunk folyamatosan bővül! A Rádiótechnikában, a Hobby Elektronikában megjelent
nyák-tervek alapján készült nyomtatott áramköri lapok az üzletben megvásárolhatók.
MŰSZERVÁSÁR
Bontott anyagok,
haaznált mOszerek
böngészdéje
Állandóan változó készlet!
Vidéki olvasóknak segít a szerzó levelező, egységcsomagkúldó
szolgáltatása: a megrendelt csomagot postán utánvéttel
elküldöm. Telefonon/faxon és levélben is rendelhet.
A HOBBI ELEKTRONIKÁ-hoz nem kell hosszú levél. Rendelését
néhány sorban, egyértelműen közölje.
Levélcím: 1656 Budapest Pf. 50.
Az Üzletben megvásárolhatók az RT évkönyvei, a Rádiótechnika és a Hobby Elektronika korábbi számai.
SKPfNcsLWriKirr
, HOL, MIKOR?
EGYESÜLETI ÜGYEK: Egyesületünknek tagja lehet min¬
denki, aki a tagsági díjat befizeti. A tagdíjat személyesen az
egyesület ircxiájában (1025 Budapest, Vöröstorony utca 29.
Telefon: 1-76-22-57), vagy átutalással az MNB 217-98 292, OTP
565-3610-8 számlára lehet befizetni. Megrendelés esetén szám¬
lát küldünk.
Pötyögőszolgálatunk valamint a szervizkedvezmény és az
apróhirdetés lehetősége tagjaink rendelkezésére áll.
A DEÁKPÁHOLY tagjai minden hónapban megkapják a
C-újságot, a tagsági díj egy egy évre 890 Ft.
A PLUSZPÁHOLY tagjai minden hónapban megkapják a
C-újságot, és kapnak havonta 3 db vásárlási utalványt. A tagsági
díj egy évre 2050 Ft.
A SZUPERPÁHOLY tagjai havonta 15 példányt kapnak a
C-újSágból, és ezzel havonta 15x3 db vásárlási utalványt is. Az
éves tagsági díj 24 000 Ft.
ÜGYFÉLFOGADÁS: Minden kedden és csütörtökön 12—16
óra között várjuk tanainkat és az érdeklődőket.
PÖTYÖGŐSZOÍXjALAT: Az újságban megjelenő programo¬
kat másolja a megrendelők részére. Megrendelhető személyesen
az egyesület irodájában vagy postai utánvéttel. Postacím: 1388
Budapest 62., Postafiók: 86.
APRÓHIRDETÉS: Az egyesületi tagoknak ingyen áll rendel¬
kezésére. Nem tagoknak a hirdetés ára 100 forint. A hirdetés
módja: az újságban megjelenő nyomtatvány kitöltésével.
A C-ÚJSÁG RÉGEBBI SZÁMAI megvásárolhatók az egyesü¬
let irodájában, vagy megrendelhetők utánvéttel.
Kedvezményes ár! Tagoknak olcsóbb!
Az újságban eddig megjelent programok gépenként össze¬
gyűjtve megrendelhetők. VC 20, C16, PLUS/4, C128, C64. To¬
vábbi felvilágosítást is adunk a 1-76-22-57-es telefonszámon vagy
levélben!
Vidéki pluszpáholy-tagjaink háromhavi tikett összegyűjté¬
sekor igénybe vehetik a NOVOTRADE 2C Áruház csomagküldő
szolgálatát.
VIDÉKEN TOVÁBBI INFORMÁCIÓK KAPHATÓK:
Baja, AXIS Kft.,
Győri Bartók Béla Művelődési Ház,
Jászberényi Városi Könyvtár,
Kecskemét, SZIGMA-BIT,
Pécsi Apáczai Csere János Gimnázium,
Zalaegerszegi Ságvári Endre Gimnázium.
Az Országos Commodore Egyesület módszertani kiadványa
Egyesületi iroda és szerkesztőség:
1025 Budapest, Vöröstorony utca 29. Telefon: 1-76-22-57
Felelős kiadó: Horváth Judit, az egyesület elnöke
Főszerkesztő: Rados Péter, az OCE főtitkára
Felelős szerkesztő: dr. Horváth András
Művészeti szerkesztő: Bausz Sándor
Levélcím: Commodore Újság, 1388 Budapest, 62. Pf.: 86.
Index: ISSN 0237-756 X
Terjeszti a Magyar Posta
Megvásárolható a hírlapárusoknál
92.0305 MSZH Nyomda és Kiadó Kft., Budapest
Felelős vezető: Nagy László
EGYESÜLE
■.-■kAi- ' V ‘
tulajdonosok!
Várunk benneteket az Országos Commodore
Egyesület klubdélelőttjén a Havanna Közösségi
Házban minden hónap 3. vasárnapján, délelőtt 9
órától. Gépet és hosszabítót hozzatok!
Cím: 1181 Budapest, Kondor Béla sétány 8.
Megközelíthető: a metró kőbánya-kispesti végál¬
lomásától a piros 136-os busszal.
Legközelebb:
február 21-én,
március 21-én és
április 18-án.
FELHÍVÁS
Tisztelt Tagtársunk, Olvasóink!
Kérjük, hogy ha rendelkeznek olyan működő számító¬
géppel, vagy jó állapotban lévő bármilyen számítógép¬
tartozékkal, amire nincs szükségük, akkor hozzák el
egyesületi irodánkba (minden héten kedden és csütörtö¬
kön 11-15 óra között).
Mi összegyűjtjük és eljuttatjuk azokat határainkon túli
(erdélyi, kárpátaljai és szlovákiai) magyar iskolákhoz.
Köszönettel: , ,
Országos Commodore Egyesület
Tisztelt Szerkesztőség
Régi és hűséges olvasója vagyok a C-Újságnak. Sok jó ötlet¬
tel találkoztam már cikkeikben, többek között a most általam kö¬
zölt témákkal is.
Az első, pár soros programom a DATA adatok begépelését
könnyíti meg. Igaz, első megközelítésre furának (pnik, de ennél
nem kell különféle kezdő- és végcímeket állítgatni, meg POKE-
olni. Egy abszolút kezdő is könnyen használhatja.
Egyébként ennek elbírálását Önökre bízom.
A másik egy ugyancsak régen lerágott csont: a magnó han¬
gossá tétele. Sokat foglalkoztatott a dolog, ugyanis a legelső gé¬
pem egy PRIMO volt. Ismerős ugye? Hangos a billentyű leütése,
és hangos a szalag beolvasása, sőt beolvasásnál figyelemmel le¬
hetett kísérni a rekordok számát, valamint a felvételi hibát.
Bizony ezek a ,,kis” plu.szok a jóval drágább rokonoknál hi¬
ányoznak. így jutottam el a különféle próbálgatások során a kö¬
zölt ötlet megvalósításához.
Mióta ezt a kis csipogót beszereltem a magnóba, nem gond
megtalálni a szalagon a programok elejét, végét, illetve az üres
helyeket.
E két kis ötletet szeretném közreadni amennyiben ezt Önök
is jónak látják.
Tisztelettel:
Kadlicskó József
3
O
EGYESÜLET
DATA beíró
A program használata:
Indítás után a gép kérésére beírjuk azt a sorszámot, ahonnan
a DATA kezdődik.
A négy egymásba ágyazott I, J, K és D ciklusok segítségével
csak a DATA-ba kerülő adatokat kell beírni, minden mást a gép
végez el.
Tulajdonképpen az történik, hogy parancs módba kerül ki¬
írásra a sorszám, a ? (CHR$(63)), idézőjel CHR$(34) idézőjel¬
ben a sorszám és a DATA (A$) s az adatok végére újabb idé¬
zőjel ".
Ha van a DATA végén ellenőrző összeg, akkor az a D ciklus¬
sal ugyancsak beírható, ha nincs akkor az 55—65 sorra nincs
szükség, viszont az 50. sor folytatásaként be kell írni:
CHRS$(34).
Nagyon ügyeljünk a programban lévő ,;-re.
Amikor a ciklus végére értünk, a képernyő alján lévő utasí¬
tást kövessük. A kurzor mindig a sorszám előtti üres helyekre
kerül, itt nyomjuk meg mindig a (RETURN) billentyűt.
Majd )RUN kezdő sorszám. Ekkor kiíródnak a sorszámmal
ellátott DATA sorok. Ezeket ismét RETURN-al vigyük be a
gépbe.
így folytassuk mindaddig míg a végére nem érünk a DATA
adat bevitelének, természetes a kezdő sorszámok mindig az elő¬
ző adatok folytatásaként következnek.
Ha minden adatot beírtunk, akkor a programot töröljük s
helyére beírjuk a DATA beolvasó-, ellenőrző programot.
így leírva talán kicsit bonyolultnak látszik, de a kezelése an¬
nál egyszerűbb.
o
1
O
2
RÉM
o
3
RÉM ^ GYORS DATa-BEIRÖ
O
4
RÉM * C= 64 t4
o
5
RÉM ♦ . . V
O
6
RÉM =.< KADLICSKO JÓZSEF PÉCS
10
PRIÍÍT CKR$ (147) :A|="DATA"
o
15
IIÍPUT"QQ DATA ELSŐ SORSZÁÍ/Dt:"
;A:?"SH/HÜIáE|HOr.-!E|";
O
20
FÓR I=A TO A+10
o
25
PRINT : CHR$(63)CHR$ (34)I;a$"
fi •
O
30
:: FÓR J=1 TO 8
35
:::POR K-1 TO 2
o
40
:::GET V$;IF V$="” THEN 40
O
45
::;PRINT V$; :NEXT K:PRINT ","
>
50
::NEXT J
O
o
55
POR D=I TO 4
60
GET VE: IP V$=’"’ THEN 60
o
65
PRINT VS;:NEXT D:PRINT CHR$(34)
O
70
flEXT I
75
PRINT" 1. <H0LrE> SORSZÁM
ÓNKÉNT <RETURN>"
O
o
80
PRINT" 2. <TÜRLES> - >RUN "A:?"6 üP"
85
END
o
lOCO
PRINT"Q <H0I.'nr> SORSZÁMONKÉNT
<íRETURN> "
0
Hangos DATASZETT
Sok gondot okoz a COMMODORE gépek űn., ,némasága”,
különösen amikor szalagról töltünk be programot. Ezzel kap¬
csolatban már sok cikk jelent meg pro és kontra.
Most egy általam már hosszú idő óta alkalmazott ötletemet
szeretném megosztani C-os társaimmal.
Egyszerűen — bárki által — megoldható az ötlet, nem kell
hozzá más mint a kisebb műszaki alkatrészboltokban beszerez¬
hető HPE-200 típ. piezo sugárzó. Ára: 120,— Ft. Pécsett a Király
u. 37. alatti műszaki boltban kapható.
Szerelési útmutató: A magnó csatlakozó dugóját szét kell
szedni a kis csavar eltávolítá,sával. A csatlakozó fedelének egyik
oldalán van egy kis 1 mm-es nyílás, ezt kell pár tized mm-rcl
nagyobbra kivágni.
A sugárzó piros színű vezetékének lecsupaszított végét dug¬
juk be a fehér színű vezeték forrasztási helye mellé. A bátrabbak
oda is forraszthatják. Ugyanígy a fekete színű végét a kék színű
vezeték beforra.sztott vége mellé. A négyes érintkezők közül a
kék a szélső, a fehér a 3.
A fedeleken lévő furatokat 3 mm-re bővítsük ki s kerítsünk
egy az eredeti csavarnál kb. 4 mm-rcl hosszabbat, s ezzel rögzít¬
sük a sugárzót a csatlakozó C-jcIű oldalára. Előtte azonban a ve¬
zetékeket a kibővített nyíláson hozzuk ki. Ezzel kész is a kis
csipogó.
A szerelésben jártasabbak elhelyezhetik a magnó belsejé¬
ben is a csipogót a piros ledet rögzítő csavar alá.
Egy 20x5x1 mm-cs bakelit lemez mindkét végére készít¬
sünk 3 mm 0 furatot. Az egyik végére a csipogót, a másik végé¬
re pedig a led-et rögzítő csavart erősítsük. Á huzalokat meg kell
hosszabbítani úgy, hogy azok a motor mellett elérjenek a megfe¬
lelő színű kivezetésekhez.
A kék színű vezeték a panel mellett lévő kis kapcsolónál van,
a fehér pedig a panel hátsó végénél. A kékhez történő forrasztást
megkönnyíti, ha panelt rögzítő két kis csavart eltávolítjuk és a
panelt kissé elfordítjuk. Forrasztás után a panelt ismét a helyére
rögzítjük.
EGYESÜLET
o
o
o
o
o
o
o
o
o
RÉM
RÉM
RÉM
RÉM
RÉM
RÉM
RÉM
RÉM
RÉM
RÉM
f/. fi *■*■*■*■*■***■* t *■*■**■* *******
C=UJSAG
50RSZAM
033
PROGRAMKOMYVTflR
JAVÍTOTT VÁLTÓSÁT
Tisztelt Szerkesztőség!
A mellékelt lemezen található Gárdonyi Gergely „Prog¬
ramkönyvtár” című programjának (C-Újság, 1988/1.) általam
kissé b<5vített változata és külön a bővítés listája.
A bővítéssel a program nyomtató nélkül is jól használható.
A tartalom az FI billentyű lenyomásával laponként a képernyőre
listázható.
A módosítást felajánlom a C-Újságban való közlésre.
Üdvözlettel:
Haraszti Árpád
program: gárdonyi GERGELY
JAVITAS: HARASZTI ÁRPÁD
230 PRINT:PRINT''|*WU::'. LISTÁZÁS KÉPERNYŐRE < TOVÁBB ' F 1 ' )
661 IF<Fz'20=INT<F/'20) )ANDCF< >DB-1 )AND<F< >0)AND<F< >1 )THENGOSUB2500
800 PRINT«4,"| NEV"CHRÍ<16>"43""HOSSZ ID";
810 PRINTI44,"a NEV"CHRÍ< 16) "68" "HOSSZ ID" O
870 PRlNTtt4, " "NítF)P45"19"H(F )P$"24"I*<F )"I"NÍ<A+F)PÍ"44"H<A+F)P*"49"IÍ<A+F);
330 PRINTtt4 , "I "Nf <B+F)P:Í"70"H<B+F)PÍ"75" I$<B+F) O
2500 GETA$: IFAÍ="ÍÍ"THEN RETURN
2510 GOTO 2500
READY.
Tisztelt Szerkesztőség!
Datásító C-F4-re
O
o
0
goto62990
1
da ta
4c7c0c484a4a4a4a20120c6829,313
2
data
0f20120c6020210cc90a9003ie, 278
O
o
3
data
6907693091d460e6d4d002e6d5,715
4
data
60bd640dl865d491d420210ca5,536
O
5
data
d5690091d4e8bd640de8c900f0, 75a
o
6
data
0920210c91d4c900d0ef60a200,545
7
data
20280ca5dl20030ca5d020030c,39d
O
o
8
data
203a0ca5d7200c0ca5d620030c, 3c4
9
data
203a0c20420c20210c20280c20. 195
10
data
420ce0b090í360788d3f f fa00a, 6ae
O
o
11
data
b9590d91d48810f8a5d0a4dl48, 746
12
data
9848a90085d685d7a5d4852bl8,681
13
data
690b48a00091d4c8a5d5852c69,61d
O
o
14
data
0091d485d56885d4a5d4186925,69f
15
data
a00091d4c8a5d5690091d4c8e6, 7c3
16
data
d6d002e6d7a5d691d4c8a5d791,91a
O
o
17
data
d4c8a98391d4c8a92091d4a5d4,89c
18
data
1869059002e6d5e5d4a20da900,584
19
data
85d985daa000b1d04ei865d990, 70c
O
0
20
data
02e6da85d96820030ce6d0d002,63í
21
data
e6dlcad0e520210ca92c91d4a5, 762
O
ü
22
data
da200c0ca5d920030c20210ca9. 3b5
23
data
0091d420210ca5dlc5d39087a5.6 7c
24
data
d0c5d290816885dl6885d0204c, 75f
0
o
25
data
0c20210ca90091d420210ca900,3Sd
26
data
91d420210ca5d4a6d5652d862e, 60c
27
data
8d3et t584c03870cl000008936,3d3
0
Q
28
data
3330303000211816e83a53b2dl, 4ea
29
data
28220022293a4bb2303a51b2dl, 40a
30
data
2822002229000f19f68149b231,360
0
o
31
data
a4513a4cb230000claí6874124,465
32
data
3a874224001fIbf6814ab230a4,4a8
33
data
31323a42b2dl28ca2841242c32,43f
o
o
Nem mindenki szereti, ha kedvenc
számítógépes lapjában hcxdump listákkal
találkozik, aminek bevitele elég nehézkes
és ha elgépeljük, senki .sem szól ránk,
hogy hibásan írtunk be valamit. S ha ezek
után a program meg fut is, az a legbosz-
szantóbb, hiszen bármikor előjöhet a nem
kívánt programhiba. Ilyenkor mindig a
programozót szokták szidni, holott sze¬
gény nem tehet róla, hogy nincs egy jó
BASIC DATA sorokat készítő programja.
Nos, kedves programozók, íme az
áhított program. Igazán nem hosszú. ,,Na
persze,” mondhatnák most, ,,öt perc alatt
írok egy datásítót BASIC-ben.” Ennyi idő
alatt ezt a programocskát is be lehet gépel¬
ni. De most jön a lényeg: a BASIC DATA-
készítő jó e.setbcn 10—15 PERC alatt
végez a programmal, és még minden¬
féle számításokat is kell végezni, hogy a
bevitel is helyes legyen. Az itt bemu¬
tatott DATA-készítőt a Wash & Go sam¬
ponhoz hasonlíthatnám, csak beindítjuk
és kész: a leghosszabb bevihető program¬
mal (14 Kbyte, ennél több DATA sorok
formájában be sem fér a memóriába)
2,8 MÁSODPERC alatt kész van, és a
BASIC program azonnal menthető, nincs
szükség a feleslegessé vált DATA-készítő
sorok törlésére.
Rckordsebességc mellett a program
még ellenőrző kód készítését is elvállalta:
a BASIC program indítá.sa után azonnal
ordít, és a hiba helyét is megmondja.
Idegeskedő természetű emberek számára
lefelé számol a gépi kód bevitele alatt.
Amint kiírta a ,,Készen vagyok” üzene¬
tet, a gépi kód indítható, ellenkező eset-
5
PROGRAM
Cf
o
o
o
o
o
o
o
o
o
34 data ac4aaa312c322929000b 1 cf697,435
35 data 53aa4b2c4200101df64bb24baa, 4cb
36 data 313a4cb24caa4200l4leí6S23a,485
37 data 99221322203b51ab49229d2022,391
38 data 00251ff66b4cb3b1d126422429,4rd
39 data a7992246494241212d2d3e2249,39a
40 data 222e20534t5221223a90000620,297
41 data f682001721f69922934b45535a,531
42 data 4 54e20564147594'f 4b21220000,2c7
62990 scnolr:charl,0. 15,chr$(27l*-"t"
63000 s = dec("0C00”1:k = 0:q = dec1"02a")
63001 íori = 1toq : I=0
63002 reatía*:readbi
63003 íor} = 0tol2:b = dec(mid't(at,2'<j*l,2))
63004 pokes + l;, b
63005 k = is + l : 1 = I +b
63006 nex t: pr 1 nt"5" :q-i"|] "
63007 iíl<>dec(bt)thenprint"hiba!--,-"i’'.
63008 next
63009 pr i nf’gkeszen vagyok 1"
63010 print " jiE&ti'Iil s "chr$ (34 ) "dat "chr$ l 34 >'
8 0C00 0e21 bIbÍbIsí?'" ; :monitor
sor!”:stop
o
o
o
o
o
o
o
o
ben javítsuk ki a hibás adatot, és indítsuk
újra. A BASIC forinátuni az itt bemutatot¬
tól csak hajszálnyival tér el, ugyanis azt
egy kiesit kib(5vítettem egy képernytiab-
lakkal és egy MONTTOR-ba lépéssel.
Ha bevittük a BASIC sorokat, ame¬
lyeket mint említettem, saját magával ké-
-szített a program, máris láthatjuk az ered¬
ményprogram működését, és megjelenik
a MONITOR-ban egy S (savé) parancs. A
név tetszés szerint átírható, ha kazettára
mentünk, a 8-ast l-esre írjuk át (csak a ke¬
vésbé jártasak kedvéért). Ezután a prog¬
ram használata már igen egyszerű;
1— Lépjünk be MONITOR-ba.
2— Körülbelül a képernyő 15. sorának
elején nyissunk ablakot (ESC T).
3— L"DAT",8 vagy, 1.
4— Töltsük be a DATA-sítandó gépi kódú
programot a helyére. (Ha nem használja
a $0C00-$0E2I memóriaterületet, a
DATÁ-sító előtt is bent lehet.)
5— $D0-ra ebben a sorrendben írjuk be
a következő adatokat (LO-HI):
program kezdőcíme, program végcíme,
BASIC kezdet.
PL: >d0 00 10 00 18 01 18
6— írjuk be: g OCOO.
Ezek után legfeljebb 2,8 mp múlva
megjelenik a READY télirat, ekkor
BASIC-ból adjunk ki egy SAVÉ paran¬
csot. Jó tanács: a BASIC kezdetet olyan¬
nak válasszuk, amely nem fogja bántani a
programunkat. Legjobb, ha közvetlenül a
program utáni üres helyet adjuk meg BA¬
SIC kezdetként, illetve, ha a programunk
a memória végén helyezkedik el, nyugod¬
tan megadhatunk $1001-et is. A példánk¬
ban az $1000—1800-ig terjedő program
$1801-től kerül DATÁ-sításra. Figyelem:
ha a programunk nem 1010 előtt kezdődik
és ha a BASIC .sorokat $1001-re töltve an¬
nak végcíme NAGYOBB, mint a progra¬
munk kezdőcíme, akkor inkább jegyez¬
zük meg, hová tettük DATÁ-sításkor a BA¬
SIC kezdetet, és a BASIC program betöl¬
tése eUJtt a $2B-2C címekre írjuk ezt be.
Egy kis műhelytitok: a program
gyorsa.sága abban rejlik, hogy egész mű¬
ködése alatt egy ujjal .sem nyúl a BASIC
szerkesztőhöz, tehát nincs beszúrás, ren¬
dezés stb. Ennek apró hátránya viszont,
hogy ha voltak BASIC soraink a megjelölt
helyen, azok elvesznek (hacsak nem men¬
tettük ki őket). De azt hiszem, ahhoz ké¬
pest, amit a program nyújt, ez elhanyagol¬
ható csekélység.
Nagy Attila
Catalog-Check (CTG)
Tegyük tél, hogy van egy lemezem, rajta 80 fiié, és a validá-
láskor kiderül, hogy az egyik hibás. Melyik? Na, ekkor kell a
CTC-t elindítani. Ez ugyanis a bejegyzett file-ok logikai láncát
ol vas.sa végig, ellentétben a lemez-ellenőrzők zömével. Ha hibát
talál, megjelöli a hibás, és az azt megelőző blokkot is, ez a lé¬
nyeg. Igyekeztem sokféle hibára télkészülni, például hurokba
zárt katalógussal, két fiié által is használt blokk, vagy valótlan
file-hossz esetére (vírustünet is lehet).
Indítás után megadhatjuk, hogy a teljes katalógu.st ellenőriz¬
ze, vagy az általunk kijelölt bejegyzé.seket. Ha végzett, felsorolja
a hibás file-okat, és ezek bármelyikét kijelölhetjük törlésre. Tör¬
lés után külön utasításra validál is.
Hódi Gyula
o
0
reríi :*:*:*: ctc v2.01
o
o
1
rém <c> hódi gyula - 9009
o
2
me=144: mt=35: rns=20; bt=18; bs=l: brn=0
3
poke 53230,11: poke 53231,0: poke 650,12:3: poke 733,:
j>2
o
4
dim a,'í < me, 1 > , e-’l < me> , IK <me> , ni CmeCme, ti (. 6> , w."-;<me
',b:';<fi'it,n'i£. >
o
5
£$='• ": ui-"—": fór i = l to 4: si--si+si; ui=ui+ui: i-
'ceiiít i
6
ui= 1 e f ti (. ui, 29 > : zi=chri O >
o
T
riií0> = "* directory : t';<0>=5: bK<bt,0>=l
o
8
fór i=0 to 6: read ti<i>: neixit i
9
rern-
o
10 pririt "aaiUS) -Jíi catalog-check v2.01 lig by d-aveJ-Bsl"
0
o
MÁRCIUS
6
PROGRAM
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
11 pririt " Sinsert dia-k to checkSi" ; gosub 142: cl őse 15; if v='3 then llö
12 open 15,8,15^"10": gosub 144: if e then gosub 142: goto 10
13 fór i = l to ms: b;-l<bt, i>=0: next i
14 open 3,8,8,"#"; print "ÍJ “ reading active fi les -33“
15 q=0: z=0; c=0: n=0: t=bt: s=bs: a=bt: b=bríi
16 print " U- 1 -lU-,-■-1"
17 print " I ti slI filename ItypIlenI"
18 print " I-1-1 I-—1-ILI-1"
13 print "Ilii I I II I"
20 print " J-'-l<J-'-'-KJ-KH"
21 rém-1.
22 if t=0 then 45
23 print "S (lia"right:j:<strí:<t>,2V||"right$<str$ís>,2:>
24 print#l5,"ul:";8;0;t;s; input#l5,e,el;: if e=0 then 27
25q=l: a:;<0,O>=t: a-;';0,l>=s; u-;C0>=a;|í256+b; e:;<0>=e
26 print "513 :lHi| error in directory " : goto 45
27 if b;'.'i:t,s> then print "BE] 3 directory loop "; z=l ; goto 45
28 bK< t, s> = 1 : pr int# 15,"b-p; "8 0 : a=t: b=s
29 gosub 140; t=x: gosub 140; s=x
30 rém -
31 fór i=2 to 255 step 32: printttl5,"b-p;"8;i
32 get v$: if v4;="3" then 45
33 gosub 140; if íx and 128:>=0 then 43
34 n=n+l: x=;x and 15: if x>4 then x=6; e^;<n;| = 100: q=q+l
35 t.’;ín>=x: gosub 140: a.";<n, 0>=x; gc-sub 140: a'lín, 1 ::i=x: w'l<n>=aí:256+b
36 v.f="": fór j = l to 16: gosub 140; if x<>160 then v'í=ví+chrí<:S> : next j
37 ní<n>=ví: if vS="" then e;iCn>=200: q=q+l
38 if t?:<nK>4 then 48
39 print#15, "b-p: "8, i + 19; gosub 140: v=256*<x and 127> : gosub 140: wK';n:)=v+x
40 print#15,"b-p;"8;i+27: gosub 14ü; v=256*íx and 127>: gosub 148; lK<n>=v+x
41 print "Sia"tab';9>; : ví=leftf O'iíín'i+sf, 16;) ; gosub 138
42 pr i nt "II" t$ < t'/. < n > > " M" r i ghtí ■: " " +strí ( 1 < n ') >, 3 > " Ilii" r i ghtí < " " +str$ L n!), 3 >
43 next i: goto 22
44 rerrr-2.
45 i f n=0 then print "5C3 jjg no fi les ": goto 108
46 print "50 ű'^heck each fiié? y"
47 gosub 142: if v/=S9 or v=l:3 then 62
48 if v=3 then cl őse 8: goto 10
49 if v<>78 then 47
50 print "aJüSl S-assign the fi les to checkIS)"
51 print "íi nr filename typ len": print u$
52 rém -
53 c=0: fór i=l to n
54 print rightSí" "+str*< i >, 3>" gosub 121: print " yxnMJlJEiJ" ,1
55 if &'/.<. then print "jSSerrSii" ; goto 68
56 gosub 142: if v=S9 then print "űlyesSi" ; goto 68
57 if v=78 then print "noa ": tM'; i ;)=-! : c=c+l: goto 68
58 if v< >3 then 56
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
30
81
82
print
next i
rém —
: fór i = i to n: t';';i5=-l;
: if c=n then 108
-3.
"SíiSTEI “ checking the assigned
pr i nt
print " U- 1 -
print " I nr I fiién
print " I-1-
print " I I
print " J-'-
print tab<14>"U- 1 -lU-1’
pr i nt tab < 14 > " I-1-1 I-1'
print tab<14>"J-■-líJ-!<;"
fór i = l to n: if tkXiXO or e
print “3503SI=ET50lllÍia".: : gosub
tgp I len I
——I 1
print
print
lici:)
120 ;
I ÍI" r i ghtí < " " +strí < q >, 3 > " íi r
tab< 14;)
tabC14>"I
I Ibik I'
II I'
then 83
print "SiJíCüEig"
a=intíw";'ii >X256:)
goto 110
b=w;i(:i> and 255
i = i;;<i>; 0 = 0 : t=ari<i,0>: s=aK<i,i>
v=0: gosub 112: if v=3 then print ;
if e then 78
if t;i<i>=4 then 81
if l=c then 83
q=q+l : print "sSBisE'&tsE'lsVI'' tab<34>r iqhti'< "
eKíi:'=300: t:;<i>=t;':a';' or c;#3; goto 83
e-; C i:) =e ; w;-; í í > =aí:256+b: 1,7. < i , 0!) =t: aK C i , 1:) =s : t:-: < i >=t;i <i> or cts : goto 83
if IKCiXO then 77
t=int':w:í<i>x256> : s=ui;;<i> and 255: a=13: b=0;
'+Strí':q:),3>"g!0r50": if e then 88
i::a;)=-i':<i>; goto 74
O
O
O
O
O
O
O
O
O
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
a
7
MÁRCIUS
PROGRAM
-;h
O
O
o
o
o
o
o
o
33 next i: clőse 8
34 rém-4.
85 if q=0 theri prinfc "iílSl igevery checked fiié is ok. Éji" ; goto 183
36 print "'50 Sg-assigri the fi les to llij»s.cr.?itchia|l ! 3fii"
87 print " nr filename typ len": print uí"S]"
33 c=0; fór i=0 to n: if e”';i>=0 theri 96
89 Ciosub 124; if i=0 then print : goto 96
90 print "Sl5]"tab':36>"Siy'-r,|Uillll8i::J|";
91 if ní<i>="" then 95
92 gosub 142: if v=S9 then print "iayesBiil«t?l" : c=c+l : goto 96
93 if v=3 then print : goto 118
94 if v< >73 then 92
95 print "no£| SIS]": e>;a>=0
96 next i: if c=0 then 103
97 if z then c=0: goto 102
98 print "SJ3I5J!] i&M'alidate after scratching?EE«]!Í!)" : c=0
99 gosub 142: if v=39 then c=l: goto 102
100 i f •<••< >73 then 99
101 rém -
O
O
O
O
O
O
O
O
O
O
102 print "ain«K] - scríitching -" : printttlS, " iO" : gosub 144; if e then llO
103 fór i = l to n; if e"i<i>=0 then 1016
104 print "S]"i"El- "tsibi;7>;: v$=nííi>; gosub 133: print
105 pr i nt# 15," s0 ; " +ní: < i > : i nput# 15, e
106 ne:«t i: if c then print "SIsl “ Validat ing -SÍ": pr intU15, "v0i" ; gosub 144
107 rém-end
O
O
O
O
O
o
o
o
o
o
o
o
o
o
o
108 print "Síi - end - fi"
109 Cl őse 3: cl őse 15: poke 650,8: poke 73:3,49:.. end
110 print "aSTSI 3 program aborted B.ÍE3" : goto 189
111 rém ====== b-r
112 if t=0 then return
113 get v$: if ví-="3" then v=3: return
114 c=c+l ; ví=rightíCstrí t:), 2> + "í.l"+right:f ístríCsí , 2> + "!!.lll«l"+r ight'í C " "-i-str$';c> , 3>
115 print "Hia"tab< ISj'ví
116 pr i nt# 15, "u 1 : " 3J 01 ; t; s ; i nputtt 15, e ; i f e tlier. return
117 if brí';t,s> then e=400; return
113 b;i<t,s> = l: a=t: b=s; gosub 140; t=:K:: gosub 140: &=:!■;: goto 112
119 rém ====== linel
120 print rightíí" "+strí^C i > , 3> "61";
121 ví=left$:<ní< i J+sí, 16> ; gosub 13£i
122 print "ytíít/ií i > and 7> "U“rightí C " "+str;t:';abs< IMC i > > > , 3> ; ; return
123 rém ====== lirie2
124 print rightíC" "+str#<i>,3>" ";: gosub 121: print : e=e;;<i>
125 if e=100 then print , , "iölSütype error" : return
126 if e=200 then print , "SSempty name" : return
127 if e<>300 then 129
123 print ," gSincorrect length ü'', "rnidí ístríí intít";': i >xs> > , 2> " > " : return
129 print " Si"; : if l';<i><0 then print "Ei#";
130 print rightíí" "+strS< int<tM'; i >xi3> > , 3> " . blk
131 pr i nt r i ohtí ■: " 3 " +mi dí < strS < alí ■: i , 0> > , 2 i , 2> " -" .:
132 print r iqhtíí "0"+midí<strlr<a‘;<; i , 1 > > , 2> , 2> ; ^ '
133 pr i nt " í r i ghtí í " 0 " +m i d:f < strí ■; i nt < wli < i > x256 > > , 2 > , 2 > " - " .;
134 print r ightí í "8"+midíístrí''':w’;í i > and 255>,2>,2>"> " .:
135 if e=400 then print "iCS'Overlap" : return
136 print "err ; "rightí í "0"+mid#ístrí íe'X i > !), 2> , 2> : return
137 rém ====== print name
13:3 poke 216,16; fór y=l to 16; print midi Cví, y, 1 >; : next y: poke 212,0: return
139 rém ====== get#
1401 get #:3,xi: x=asc<xi+zi:) : return
141' rém ====== get .
142 wait 197,64: poke 193,0; wait 193,15: get vi: v=asc';vi> : return
143 rém ====== error
O
O
O
O
O
o
o
o
o
o
o
o
o
o
MÁRCIUS 8
TÁJOLÓ
Számítógépes fogalmak
Lexikon
XIII. rész
RÉSÉT
A rését alatt egy olyan folyamatot
értünk, amely a számítógépet (pl. a
C64-est), vagy a perifériákat alapállapot¬
ba viszi. Alapállapot alatt a bekapcsolás
utáni állapotot értjük. A C64-es procesz-
szora erre a célra egy külön rését vezeték¬
kel rendelkezik, amelynek használatával
(resetjel) elvégezhető a kívánt művelet. A
C64-es esetében ilyenkor biznyos tároló¬
cellák egy meghatározott értékre lesznek
beállítva. Beállítjuk az úgynevezett be¬
kapcsolási színeket a képernyőn és a csat¬
lakoztatott készülékek télé is küldünk egy
rését jelet. Akinek van egy úgynevezett
rését kapcsolója (ezt a szaküzletekben ke¬
reshetjük), megspórolhatja a számítógép
állandó ki-be kapcsolgatását az7.al, hogy
megnyomja az adott gombot. Ez a mód¬
szer ráadásul kíméletesebb is, mert ekkor
nem lép föl a bekapcsoláskor az építőele¬
meket (igen rövid ideig érő) indukciós
,,sokk”. így jobban védjük a C64-cs
elemeit.
A resetet általában akkor kell kiválta¬
nunk, amikor a rendszer valamilyen oknál
fogva lemerevedett, ,,kiakadt”. Mivel a
rését .során a C64-es e.setébcn csak a fon¬
tos mutatók beállítása és a kazettapuffer
törlése történik meg, ez hasznos eszköz a
programozásban is. Gépi kódú progra¬
mok vagy grafikák ugyanis változatlanul
a tárolóban maradnak (kivéve az említett
kazettapuffert).
STEPPERMOTOR
Ezt léptetőmotornak is nevezik. A
1541-es meghajtómotorjával ellentétben a
léptetőmotor az író/olvasó fej mozgatá¬
sáért telel. Attól függően hogy hova kell
írni az adatokat a lemezre, húzza vissza
vagy viszi előre a léptetőmotor a fejet. Ez
a felelős a régi 1541-esnél a lemezformatá-
láskor hallható kattogásért, mivel ekkor a
motora tejet ütközésig visszahúzza, hogy
a műveletet egy meghatározott nullapont¬
ról kezdje el. A fej meghajtása nem köz¬
vetlenül történik, hanem egy fémszalag
segítségével, amely átvi.szi a mozgatáso¬
kat a tejre. Erre a szalagra van a tej tartója
tclerősítve, amely síneken fekszik, így a
fej két mozgásirányra szilárdan rögzítve
van.
ÍRÓ/OLVASÓ FEJ
A floppynk eme alkotórésze veszi át
a lemezreírás tulajdonképpeni feladatát.
Az egész elem két részből áll, magából a
fejből és egy kis filcből, amely a lemezt
föntről a fej irányába nyomja. Természete¬
sen egy lemezre nem a szó hagyományos
értelmében írunk. Sokkal inkább az törté¬
nik, hogy a tej a lemeznek azon részét
mágnesezi, ahonnan később az adatokat
olvasni szeretnénk. Az olvasá.snál tehát az
írási művelet megfordul. Ez azt jelenti,
hogy ekkor az író/olva.só fej azt ellenőrzi,
mágnescs-c az éppen vizsgált rész. Innen
kerülnek azután az adatok a számítógép¬
be. A fej szilárdan rögzül a léptetőmolor
fémszalagjára, és ezen kívül két sínen csú¬
szik. így a fejet nem lehet sem balra, sem
jobbra kitéríteni. Az ellennyomást kifejtő
filc gondoskodik emellett a lemez és az
író/olvasó fej megfelelő kapcsolatáról.
TÁROLÓ MÉDIUMOK I.
Hogy adatokat tartósan tárolhassunk,
több lehetőség is a rendelkezésünkre áll.
Ma már szinte történelmi tárolóc.szköz a
hagyományos magnószalag. Az adatokat
itt a zenéhez hasonlóan visszük föl egy¬
más után. Ennek a módszernek a legna¬
gyobb hátránya a lassú sebesség. Jelenleg
az. információ tárolá.sának legnép.szcrűbb
elemei a mágneslemezek. Különböző mé¬
retekkel találkozunk, amelyek mögött kü¬
lönböző tárolókapacitás áll. Eredetileg
8 collos lemezeket ha.sználtak, de ezek
kezelése túl bonyolult lett. Ezekre a leme¬
zekre megabyte nagyságrendű adatmeny-
' nyiségeket lehet fölvinni. A 1541-es által
használt 5 1/4 collos lemezek manapság a
legáltaláno.sabban elterjedt információ¬
hordozók. Ezekre a ha.sznált meghajtótól
függő kapacitással lehet adatokat írni. A
I34l-es floppy például 166 kbyte adatot
képes ezekre írni.
TÁROLÓ MÉDIUMOK II.
A lemezpiacon a legfiatalabb lemez¬
méret a 3 1/2 coll. Ezeket például a Com¬
modore Amiga használja. Ezeknél is sok¬
kal nagyobb kapacitást jelentenek az úgy¬
nevezett tixlemczck. Ezeket azonban álta¬
lában csak a PC-khez kínálják, bár az
USA-ban létezik egy fixlemez a C64-hcz
is. A fixiemezek manapság gigabyte
nagy.ságrcndű információk befogadására
képesek, ezeket azonban csakis a nagygé¬
pes számítóközpontokban alkalmazzák.
A legújabb, ma még kis.sé kiforratlan táro¬
lóeszköz a Compact Disc. Ezekre, a HiFi
világából ismert szeletekre igen nagy
mennyi.ségű adatot lehet fölvinni. Ugyan¬
akkor az ezek olvasásához szükséges ké-
•szülékek csakis a PC-k számára elérhe¬
tők. Emellett ez a technika még nem
nevezhető beérettnek, s az alkalmazása
igen drága is.
RAM operációs
rendszer védelme
Ha kimásoltuk az operációs rend¬
szert a RAM-ba, s ezután el akar¬
juk kerülni, hogy egy (RLJN/
STOP) -I- (RESTORE) kikap¬
csolja ezt, elég, ha beadjuk a
POKE 64982,53 utasítást.
Directory lístavédelem
Aki a lemezeit .szeretné listázás
ellen védeni, a jövőben a követke¬
ző utasítással formatálja azokat:
0PEN1,8,15, "N:név(shift-l)":closcl
Az ID helyén beadott (SHIFT)
(L) meggátolja a directory kilis¬
tázást.
Dump-master
Ez a kis rutin megakadályozza a
1541/70/71-es íloppyknál az.
író/olvasófej ütődését:
OPEN15,8,15,"M-W" CHR$(106I CHRS
(01 CRS$(1) CHRS(128):CLOSE15
MÁRCIUS
c=
9
KITEKINTŐ
áaí*
Képernyővarázslat
Hatodik rész:
A memória és a billentyűzet
programozása
Nos, végre eljutottunk a cikksorozat
utolsó részéhez. Persze ez még csak a cikk
eleje, és remélem, tudok új információkat
nyújtani a TED-ről, valamint hogy még
mindig vannak, akik ezt clolvas.sák.
A billentyűzet
Mint azt már az első részben leírtam,
a billentyűzet és joystick kezelése is eme
chip feladata. A TED KO—K7 bitjeivel fi¬
gyeli ezeket. Nézzük meg, hogyan!
Az I/O területen ($FD00-$FEFF)
belül az $FD30-$FD3F terület a
billentyűzet-mátrix számára fenntartott
hely. Az FPLA (Field Programmable Lo-
gical Array — programozható logikai há¬
lózat; ezt a gépbe készre égetve, progra¬
mozva szerelik be) a címbusz felső 12 bit¬
jét figyel (A4—A15), így 16 bájtos blok¬
kokkal képes megkülönböztetni. Ha a
$FD3x címek bármelyikét találja a
címbusz (ezek között semmi különbség
nincs), aktivál egy jelet. Ez a KEY-
BOARD CHIP-SELECT (billentyűzet
chip kiválasztás) jel egy 6529B típusú IC-
be fut be. Ez az IC kapcsolódik az adat¬
busz mind a nyolc bitjére. A KEYBOARD
CHIP-SELECT vételekor eltárolja az
adatbusz állapotát, a kimenetére helyezi,
és a következő írásig megtartja azt. Erre
a kimenetre csatlakozik maga a mátrix.
Ez valójában egy 8*8-as hálózat. Eme há¬
lózat 64 metszéspontjának a gép 64 külön¬
böző billentyűje felel meg (a két SHIFT
és a SHIFT-LOCK, valamint a két
CONTROL |csak PLUS/4-enj egy-cgy
billentyűnek számít). Nyolc sorát a
65229B kimenetéről érkező jelek alkot¬
ják, míg nyolc oszlopa a TED KO—K7 bit¬
jeibe fut be. Ezek a bitek ellenállásokkal
+5 V tápfeszültségre vannak felhúzva.
Egy billentyű lenyomásakor a hálózat
azon sorának állapota, amelyikben a le¬
nyomott billentyű van, a TED KO—K7
bitjeinek valamelyikébe íródik. Hogy me¬
lyikbe, az a billentyű mátrixbéli helyétől
függ, vagyis attól, hogy melyik sor és
oszlop metszéspontjában áll. Ha az adat¬
buszon ehhez a sorhoz ,,egyes” bitet rcn-
Cs MÁRCIUS ■ 10
delünk, a TED nem érzékeli a lenyomást,
hiszen az ellenállá.sok eleve ,,maga.s”
szinten tartották a TED bemeneti bitjét.
Ha azonban ,.alacsonyra” állítottuk a sor-
kivála.sztó jelet, a billentyű a TED felé ve¬
zető jelet is lehúzza. Ez az, amit a TED
$FF08 regiszterében érzékelhetünk. A
két joystick a mátrix után, közvetlenül a
TED bemenő bitjeire kape.solódik, így ha
ezeket kívánjuk figyelni, és a billentyűze¬
tet nem, az $FD30 cím írását kihagyhat¬
juk. Nézzük most meg mindezt program¬
ban (1. lista)! A SEl utasítás ilyen esetek¬
ben elengedhetetlen, ugyanis ha a gépi
megszakító rutin — mely ugyanezt a mód¬
szert ha.sználja — átírja az általunk beállí¬
tott értéket, hamis értéket olvasunk be. A
rendszer ROM-ban találhatunk egy ha.sz-
nos szubrutint. Hívási címe: $DB70/73.
Itt az alábbiakat találhatjuk:
. DB70 STA $FD30: billentyűzet Is
. DB73 STA $FF08; csak joystick
. DB76 LDA $FF08
. DB79 RTS
Mint említettem, a gépi megszakító
rutin is ezt a módszert használja, majd a
kapott kódokból ASCII-kódot készít. Eh¬
hez konverziós táblákat használ, melyek¬
ből négy darab van, és az $E026-$E128
területen helyezkednek el.
billentyűk magukban: $E026-$E065
billentyűk SHIFT-tel: $E67-$E0A6
billentyűk C = -ral: $E0A8 $E0E7
billentyűk CTRL-lal: $E0E9 $E128
Ez a táblázat a ROM-ban foglal he¬
lyet, tehát nem válU)ztathatjuk tneg. Ha
mégis szükség van arra, hogy az egyes
billentyűkhöz rendelt ASCII-kódokat
megváltoztassuk, átírhatjuk a dekódoló
rutint. Bár ez szintén ROM-ban van,
de kezdetére egy vektor mutat, mely a
$0545—$0546 címen helyezkedik el.
Alapértéke $DB7A.
$EC-$ED: aktuális billentyű-dekódertáb-
la kezdete
$EE aktuális billentyűzet-mátrix
kód
$EF:
$0527-$0530:
$053F:
$0540:
00 :
a billentyűzet-pufferben lévő
karakterek száma
billentyűzet puffer
billentyűzet-puffer hossza
billentyűlsmétlés kapcsoló
kurzorvezérlők
- aTED
$40: egyik sem
$80: mindegyik
$0541: billentyűismétlés számláló
$0542: billentyűismétlési sebesség
$0543: SHIFT, CTRL, C= jelző
$0547: SHIFT/C= letiltás/engedé¬
lyezés
-$00: engedélyezett
-$FF: letiltott
$07EB: utoljára lenyomott karakter
$07F6: billentyűzet-dekódertábla mu¬
tatója
Ennyit kívántam a billentyűzetről
szólni, és most rátérnék a cikk másik té¬
májára: a memóriakezelésre. A RAM-
okat már az első részben elég részletesen
tárgyaltuk, így most inkább a ROM-okat
helyezném előtérbe.
A 64K RAM-mal rendelkező gépek¬
nél $8000-$FCFF-ig és $FF40-$FFFF-
ig a memória ,,több rétegű”. Ez alatt azt
értein, hogy ,,egymáson” helyezkedik el
RAM és ROM terület. Hogy egy olvasó¬
ciklus ezen a területen honnan olvas, az
attól függ, hogy melyiket választottuk ki
(, .lapoztuk be”) utoljára. Ezt a célt a TED
két regisztere szolgálja: az $FF3E, mely¬
re bármit írva a ROM lapozódik be, és az
$FF3F, melynek írása a RAM kiválasztá¬
sát jelenti. Ez a két regiszter úgynevezett
,,fantomregiszter”, mert csak írásuknak
van jelentősége, a beírt adat milyensége
közömbös, és olvasásuk hatástalan (nem
a beírt adatot olvassuk vissza).
Ha abban a szerencsés helyzetben va¬
gyunk, hogy nemcsak BASIC és KER-
NAL ROM van gépünkben, tovább bo¬
nyolódik a helyzet. Ilyenkor azt is meg
kell adni, melyik ROM-ot kívánjuk hasz¬
nálni. Erre a célra külön lapozóelektroni¬
kát építettek a gépbe. Ez az elektroniLi az
$FDD0-$FDDF címeken érhető el.
FIGYELEM! Nem mindegy, me¬
lyikbe írunk! Ez mo.st nem olyan, mint a
billentyűzetnél volt, inkábba RAM/ROM
lapozáshoz hasonlít. Ezek a címek nem a
TED regiszterei, az 1/0 területen vannak.
A RAM és a TED kapcsolatáról már volt
■SZÓ. Ha ROM-ot vála.sztottunk ki, és az át¬
fedő területről olvasunk, a RAM-ok nem
kapnak CAS jelet, tehát náluk egy plusz
frissítési ciklus játszódik le. Aktiválódik
a TED CSŐ vagy CSI jele, attól függően,
hogy melyik 16K-s tartományt használjuk
($8000-$BFFF vagy $C0O0-$FFFF).
Hogy ezek után melyik ROM IC kapehip-
.select jelet, az a lapozóelektronika dolga.
Ismét a FPLA a dolgok fő irányítója. Ha
az $FDD0-$FDDF címekre hivatko¬
zunk, az FPLA aktiválja az ADDR CLK
KITEKINTŐ
(ADDRESS CLOCK — cím órajel; kicsit
furcsán hangzik, de a tároló aktiváló jelét
órajelnek hívják) jelet. Ennek hatá.sára —
írás esetén — eltárolódik a cínibusz alsó
négy (AO—A3) bitje egy 74LSI75-ös típu¬
sú IC-ben. Ebből a dekódoló hálózat a
CSŐ vagy CSl jelek hatására aktiválja
egyik vagy másik kimenetét, és ezzel va¬
lamelyik ROM-ot. Az az adatot az adat¬
buszra teszi, és innen az a proccszorba ke¬
rül. A logikai hálóz.atnak összesen nyolc
darab kimenő jele van, tehát összesen
8*16=128K RÖM-ot képes kezelni egy
PLUS/4. Ezek:
BASIC
KERNAL
FUNCTION LOW
FUNCTION HIGH
CARTRIDGEl LOW
CARTRIDGE1 HIGH
CARTRIDGE2 LOW
CARTRIDGE2 HIGH
Természetesen
($8000-BFFF)
ISCOOOTFFF)
($8000 BFFF)
($COOO-FFFFI
($8000-BFFF)
($COOO-FFFF)
($8000 BFFF)
(SCOOO-FFFF)
$FDO{)-$FEFF-ig
mindig az 1/0 terület lapozódik be. Közös
ezen túl az $FC00-$FCFF-ig terjedő terü¬
let. Ha ide hivatkozunk, mindig a KER¬
NAL lapozódik be. Ennek oka az, hogy
itt helyezkednek el a ROM-okat egymás-
•sal ös.szekape.soló rutinok (pl. LONG
JUMP — egyik ROM-ból a másikba ug¬
rik), és itt kezdődik és végződik a megsza¬
kító rutin is. Ennek hardver megvalósítá¬
sa az FPLA KERN jelével történik, amely
nem a neves színészt, hanem a lapozó¬
elektronika azon funkcióját aktiválja, ROM-tól a KERNAL kapjon chip-seleet
hogy függetlenül az utoljára kiválasztott jelet. A címek és ROM-ok kapcsolata:
Cim
$8000 BFFF
$COOO $FFFF
$FDD0
BASIC
KERNAL
$FDD1
FUNCTION LOW
KERNAL
$FDD2
CARIRIDGE 1 LOW
KERNAL
$FDD3
CARTRIDGE2 LOW
KERNAL
$FDD4
BASIC
FUNCTION HIGH
$FDD5
FUNCTION LOW
FUNCTION HIGH
$FDD6
CARTRIDGE 1 LOW
FUNCTION HIGH
$FDD7
CARTRIDGE2 LOW
FUNCTION HIGH
$FDD8
BASIC
CARTRIDGEl HIGH
$FDD9
FUNCTION LOW
CARTRIDGEl HIGH
$FDDA
CARTRIDGE1 LOW
CARTRIDGEl HIGH
$FDDB
CARTRIDGE2 LOW
CARTRIDGEl HIGH
$FDDC
BASIC
CARTIRDGE2 HIGH
$FDDD
FUNCTION LOW
CARTRIDGE2 HIGH
$FDDE
CARTRIDGEl LOW
CARTRIDGE2 HIGH
$FDDF
CARTRIDGE2 LOW
CARTRIDGE2 HIGH
Nézünk most egy programot, mely
felhasználja a cikk teljes anyagát: egy
ROM-COPY-t (2. lista).
Úgy hi.szem, eljött a búcsú pillanata.
A sorozat itt véget ér. Szeretnék kö.szöne-
tet mondani önöknek türelmükért, vala¬
mint Nagy Attilának és Tamásnak felbe¬
csülhetetlen értékű segít.ségükért. Remé¬
lem a jövőben még viszontlátjuk egymást
az újság hasábjain.
Felhasznált irodalom:
C0M1V10D0RE-F4 felhasználói ké¬
zikönyv - (c) COMMODRE ELECT¬
RONICS LIMITED, 1984. Babán Gá¬
bor—Ma.sa István: Gépi kódú programo¬
zás kezdőknek és halaclóknak — NOVCH-
RADE, 1987. Tóth Viktor: A COMMO¬
DORE I6-OS belső felépítése — NOVOT¬
RADE, 1986. Wilheim Besenthal—Jens
Muus: PLUS/4-kézikönyv az összes tud¬
nivalóval — NOVOTRADE, 1989.
O
00001
0000
;kukac
O
O
00002
0000
$ 7000
00003
7000
X 1
=
l’d0
; átmeneti
O
00004
7000
yi
=
xl + 1
; koordináták
o
00005
7000
c i ra 1
y 1 +1
; 0 ivasas/
O
00006
7000
cimh
c i m 1 + 1
;/irashoz
00007
7000
b t. e s z t
=
idb70
;bi1lentyuteszt
o
00008
7000
i r q V e g
=
$ce0e
;gepi megszakitorutin
ü
00009
7000
keret
=
tf í 19
o
00010
7000
sor !
=
$d802
ítablazat sorok
O
00011
7000
sor h
=
$d81b
;kezdőcímei vei a romban
o
00012
7000
a2
00
1 d X
#0
00013
7002
a9
a0
i nck
Ida
#$a0
;init ciklus
ü
00014
7004
9d
00
0c
s ta
Í0C00,X
;kepernyo
o
00015
7007
9d
00
0d
s ta
Í0d00,X
; inverz
o
00016
70Ga
9d
00
0e
sta
í0e00,X
;space
00017
700d
9d
t8
0e
3 X a
$0ef 8,X
; fe 1 to1tes
o
00018
7010
a9
10
1 da
#$10
o
00019
7012
9d
00
08
s ta
$0600,X
;fekete szín
o
00020
7015
9d
00
03
s ta
$0900,X
;beaiIitasa
o
00021
7018
9d
00
0a
s ta
$ 0a00,X
00022
701b
9d
í S
0a
s ta
$0at8.X
0
00023
701 e
eS
inx
o
00024
7011
d0
e 1
bne
inck '
0
00025
7021
aü
80
í da
#$80
; í e k e t e
0
00026
7023
Sd
19
11
sta
keret
00027
7026
a2
07
1 dx
#7
o
00028
702S
sO
1 4
tabc
i da
#20
;képernyő közepe
o
00029
702a
9d
19
70
sta
X tab, X
00030
7023
a 9
0d
1 da
#13
o
00031
702 í
9d
01
71
sta
:/1 a b , X
00032
7032
ca
de X
■■■Arciuf
o
11
KITEKINTŐ
0
00033
7033
10
13
bp 1
tabc
Ü
00034
7035
78
se i
o
00035
7036
a2
44
Idx
#<mexak
O
00036
7038
a0
70
1 dy
# >me xak
00037
703a
8e
14
03
S t X
$0314
o
00038
703d
8c
15
03
sty
$0315
0
00039
7040
58
c J i
o
00040
7041
4C
41
70
vege
jmp
vege
Ü
00041
7044
ad
00
71
mexak
1 da
X tab + 7
;modos1tando
00042
7047
85
d0
s ta
X 1
;koord-ak
o
00043
7049
ad
08
71
1 da
ytab+7
O
00044
704c
85
dl
■ sta
yi
o
00045
704e
a9
df
k 1 e
1 da
#$df
; k . 1 e
O
00046
7050
20
70
db
jsr
bteszt
;figye les
00047
7053
29
01
and
#1
:teszt
o
00048
7055
d0
07
bne
kf el
;nincs lenyomva
O
00049
7057
a5'
dl
1 da
yl
:yl=yl+l
00050
7059
18
c 1 c
O
00051
705a
69
01
adc
#1
00052
705c
85
dl
sta
yl
o
00053
705 e
a9
df
kf el
1 da
#$df
;k.fel
O
00054
7060
20
70
db
jsr
bteszt
;figyeles
o
00055
7063
29
08
and
#8
;teszt
O
00056
7065
d0
09
bne
k jobb
;nincs lenyomva
00057
7067
a5
dl
1 da
yl
;yl=yl-l
o
00058
7069
38
sec
O
00059
706a
e9
01
sbc
# 1
o
00060
706 c
30
02
bm i
k j óbb
; ha negatív
O
00061
7066
85
dl
sta
yl
00062
7070
a9
b f
k jobb
1 da
tt$bf
;k.jobb
0
00063
7072
20
70
db
jsr
bteszt
f i g y 6 1 e s
O
00064
7075
29
08
and
#8
; teszt
o
00065
7077
d0
07
bne
kba 1
;nincs lenyomva
O
00086
7079
a5
d0
1 da
X i
: xl = xl + 1
00067
707b
18
c 1 c
o
00068
707c
69
01
adc
#1
O
00069
707e
85
d0
s ta
xl
o
00070
7080
a9
bf
kba 1
1 da
tt$bí
;k.ba1
O
00071
7082
20
70
db
jsr
bteszt
:figye 1es
00072
7085
29
01
and
#1
;teszt
o
00073
7087
d0
09
bne
cbeck
; nincs 1 enyomva
O
000 74
7089
a 5
d0
1 da
xl
; X 1 = X 1 - 1
o
00075
70&b
38
sec
00076
70dc
e9
01
sbc
# 1
o
00077
708e
30
02
bm i
c h e c k
: ha negatív
■ o
00078
7090
85
dO
sta
xl
o
00079
7092
a5
d0
c h e c k
1 da
xl
o
00080
7094
c9
28
cmp
#40
00081
7096
90
04
bee
chy
o
00082
7098
a9
27
1 da
#39
o
00083
709a
85
d0
s ta
xl
o
00084
709c
a5
dl
chy
1 da
yl
o
00085
00086
709e
7030
c9
90
19
04
cmp
bee
#25
utó 1 30
o
00087
70a2
a9
18
1 da
#24
o
00088
7 0a 4
85
dl
sta
yl
o
00089
70a6
a2
00
utó 1so
1 dx
#0
; utó 1so
o
00090
70a8
20
é2
70
jsr
c i msz
: karakter
o
00091
70ab
a9
10
1 da
#$10
: f eket ere
00092
70ad
91
d2
sta
( c i m 1 ) , y
o
©0093
70af
a2
00
1 d X
#0
o
00094
70bl
bd
f a
70
masc
1 da
X t a b + 1, X
: tab1 azat
o
00095
70b4
9d
f 9
70
sta
X tab,X
;e1emenkent i
o
00096
70b7
bd
02
71
1 da
y t a b + 1, X
;ha tramozdita s
00097
70ba
9d
01
71
sta
ytab,X
0
00098
70bd
e8
i nx
o
00099
70be
60
07
cpx
#7
o
00100
70C0
d0
e f
bne
masc
o
00101
70c2
a6
d0
Idx
X 1
00102
70c4
a4
dl
1 dy
yl
MÁRCIUS 12
Cf
KITEKINTŐ
00103
70c6
8e
00
71
s tx
X tab^ 7
; uj koord
o
00104
70c9
8c
08
71
s ty
ytab 1 7
: beirasa
0
00105
70CC
a2
00
1 dx
tt0
o
00106
70ce
20
©2
70
focik
3 s r
c i Hl s 2
;cim szarnitas
o
00107
70dl
8a
t xa
00108
70d2
0a
as 1
a
;szinkod
o
00109
70d3
0a
as 1
a
;e1oa11itasa
o
00110
70d4
0a
as 1
a
;szin=16»x+l
o
00111
70d5
0a
as 1
a
o
00112
70d6
09
01
o ra
tti
00113
70d8
91
d2
sta
leírni),
i y
o
00114
70da
e8
i nx
o
00115
70db
e0
08
cpx
#8
o
00116
70dd
d0
ef
bne
focik
00117
70df
4C
0e
ce
jmp
irqveg
: vege
o
00110
70e2
bd
f9
70
c i msz
1 da
X tab,X
;X koord.
o
00119
70e5
48
pha
;mentes
o
00120
70e6
bd
01
71
1 da
ytab,X
;y koord.
00121
70e9
aö
tay
o
o
00122
70ea
b9
02
d8
1 da
sor 1 ,y
;sor kezdet
00123
70ed
85
d2
sta
cim 1
; cirae
o
00124
70ef
b9
Ib
d8
1 da
sorh,y
; rom
o
00125
70f 2
29
0b
and
#$0b
;tab1azatbo1
00126
70 f 4
85
d3
sta
c i mh
0
00127
70f 6
68
p 1 a
o
00128
70f 7
a8
tay
o
00129
70f 8
60
r t s
o
00130
70f 9
X tab
» =
» +8
o
00131
7101
y tab
n =
X +8
o
end of
assembly,
er ror
count =
00000
0
o
b t e s z t
db70
check
7092
chy
709c
cimh 00d3
c i m 1
00d2
cimsz
70e2
focik
70ce
inck 7002
o
o
irqveg
ce0e
kba 1
7080
keret
ff 19
kfel 705e
k jobb
7070
k 1 e
704e
masc
70bl
mexak 7044
o
sor h
dSlb
sor 1
d802
tabc
7028
utó 1so 70a6
o
vege
7041
X 1
00d0
X tab
70f 9
yl 00dl
o
y tab
7101
o
00001
0000
; rom-copier
O
00002
0000
;
o
00003
0000
X s:
■í 1100
O
00004
1100
«
00005
1100
mon =
$f f 52
O
(J
00006
1100
rom =
$d0
00007
1 100
bank =
$t dd0
o
00008
1100
p 1 Qt =
$f f f 0
0
00009
1100
primm =
$f f 4f
o
00010
1100
s c n c 1 r =
$d388.
0001 1
1100
cur B 1 =
$f f 0d
o
00012
1100
cursh =
$f f 0c
o
00013
1100
mátrix =
$db70
o
00014
1100
innen =
$d0
o
00015
1100
ide =
innen + 2
o
00016
1100
bordér =
$ r f 19
00017
1100
hely =
$0ea5
0
0001S
1100
»
o
00019
1100
t
o
00020
1100
í
00021
1100
t
o
00022
1100
o
00023
1100
78
se i
o
00024
1101
20 88 dő
jsr
scnc1r
o
00025
1104
18
c 1 c
o
13 ■ MÁRCIUS
KITEKINTŐ
o
m&ze
1105
a2
03
1 dx
#3
• 4. sor
0
00027
i 1107
a0
0b
Idy
RÍ 1
12. oszlop
o
00028
1109
20
10
1 1
j s r
p 1 0 t
O
00029
110c
20
4f
11
j sr
P' r i m m
00030
1101
o
00031
1 10f
O
00032
1 10f
a
menü szövege
o
00033
110f
0
00034
1 10Í
c.
^ 1
4d
2d
43
4r
50 4 9
45 52
20
42
59 20 4b 41 46 41 0d
o
o
0O03&
1101
. byt
’ rom-copier
by ko t a’,13
0d
0d
0d
41
20
50
52 41
47 S2
41
4d
20 41 20 4b 49 56 41
4c
4 1
o
53
5a
54
4r
04
54
20 52
41 4d
2d
41
54 20 52 41 4d 2d 42
41
0d
o
00036
1122
. byt
13,13,13,’
a
program a kiválasztott
rom-ot
r c
o
-BA’ ,
13
o
20
20
20
20
20
20
4d 41
5 3 41
4C
4a
41 20 24 32 30 30 30
2d
54
41
4C
20
4b
45
5a
44 41
44 41
45
4e
2e
o
00037
114c
. byt
f
maso 1
ja $;
j000-tol kezdődően
t
o
00038
1 lÖB
0d
0d
. byt
13, 13
o
31
20
2d
20
53
59
53 54
45 4d
20
52
4t 4d 20 28 42 41 53
49
43
o
20
26
20
4b
45
52
4e 41
4c 29
0d
o
00039
1170
. byt
’ 1 - System
rom
basic & kerna1)’,
13
o
32
20
2d
20
49
4e
54 45
52 4e
41
4c
20 45 58 50 41 4e 53
49
41
4e
20
28
46
55
4e
43 54
49 41
4e
29
0d
Q
0
00040
1190
. byt
'2 - internál expansion (lunction;
*
13
33
20
2d
20
43
41
52 54
52 49
44
47
45 31 0d
o
00041
llb2
. byt
'3 - cartridgel’
13
O
34
20
2d
20
43
41
52 54
52 49
44
47
45
32 0d 0d 0d
o
00042
1 lel
. byt
’4 - cartridge2’
13,13,13
0
20
20
20
49
52
44
20 42
45 20
41
20
4b 49 56 41 4c 41 53
5a
54
41
54
54
20
C
S2
41
4d 20
53 5a
41
4d
41 54 21 00
o
00043
lld2
. by t
’ Írd
be
a
kiválasztott rom számát
! ’ , 0
O
00044
1117
o
00045
1117
o
00046
1117
a
szám belíerese
00047
llf 7
o
00048
1117
o
0004 9
1117
a2
aS
1 d X
# <. h e 1 y
kurzor a kepre
00050
1119
a0
0e
1 dy
R > h e 1 y
o
o
0005 1
Ili b
8e
0d
11
stx
cur B 1
00052
lile
8c
0c
11
s ty
cursh
o
00053
1201
a9
71
1igye 1
1 da
# $ 71
7. sor
o
00054
1203
20
70
db
j s r
mátrix
o
00055
1206
c£i
le
emp
R $ 1 e
0. oszlop
0
00056
1208
10
Id
heq
System
1-est nyomtak
00057
120a
c9
17
cinp
R$t7
3. oszlop
o
00058
120c
10-
15
beq
expans
2-est nyomtak
o
00059
120e
a9
rd
1 da
#$í d
1. sor
00060
1210
20
70
db
j sr
mát riX
o
00061
1213
c9
f e
emp
Rite
;0. oszlop
o
00062
1215
10
08
beq
cár 11
3-ast nyomtak
o
00063
1217
c9
1 7
emp
R $ 1 7
3. oszlop
o
00064
1219
d0
e6
bne
1 i gye 1
nem 4-es
o
00065
I2lb
a2
34
1 d X
R$34
4-es kepernyokod
00066
1213
d0
0a
bne
oV;
0
0006 7
1211
a2
33
cár 11
1 dx
R$33
3-as kepernyokod
0
0006Ö
1221
d0
06
bne
ok
0
00069
1 3
a2
32
expans
1 d X
R$32
2-es kepernyokod
00070
1225
d0
02
Dne
ok
o
000 / 1
1227
a2
3 i
System
1 dx
R$31
1-es kepernyokod
o
00072
1229
0
00073
1229
0
00074
1229
return-t vagy dél
-1
kérünk
000 75
1229
o
00076
1229
o
00077
1229
Se
a5
0e
ok
Stx
hely
a szám kiirasa
o
00078
122c
ee
0d
11
i ne
cur s 1
kurzor jobbra
0
00079
i 2‘^ t
a 9
í e
var
1 da
R$í e
0. sor
00080
1 ^
X W A
20
70
db
j s r
mátrix
MÁRCIUS “ 14
KITEKINTŐ
o
0<á0Sl
1234
c9
f d
cmp
#$f d
;1.oszlop->return
O
o
00082
1236
f 0
0f
beq
maso 1
o
00083
1238
c9
t e
cmp
tt$f e
;0.oszlop->del
00084
l23a
d0
f 3
bne
var
o
00085
123c
a 9
20
1 da
tt$20
; space
o
00086
123e
8d
ab
0e
sta
he 1 y
;szám tor 1es
o
00087
1241
ce
0d
í f
dec
cur s 1
;kurzor vissza
o
00088
1244
4c
01
12
jmp
figye 1
;uj szám bekerese
00089
124 7
o
00090
1247
o
00091
1247
a bank - kod e1oa1 1
i tasa
o
00092
124?
o
00093
1247
00094
124 7
ca
maso 1
dex
jvalasztott rom szama-1
o
00095
1248
ea
t xa
f akkuba
o
00096
1249
29
03
and
#$03
;ertek levalasztasa
o
00097
I24b
85
d2
sta
ide
latmeneti tar
o
00098
124d
0a
as 1
a
;ottel való szorzás
00099
124e
0a
as 1
a
0
00100
124f
18
c 1 c
o
00101
1250
65
d2
adc
ide
00102
1252
aa
tax
;atto1tes
o
o
00103
1253
00104
1253
0
00105
1253
maso 1
as
o
00106
1253
(
0
00107
1253
o
00108
1253
a9
0b
1 da
#$0b
00109
1255
8d
06
ff
sta
$f f 06
;kép ki
o
00110
1258
9d
d0
f d
sta
bank,x
'
;rom belapozasa
o
00111
125b
a0
00
1 dy
#0
;mutatok beallitasa
o
00112
125d
a9
80
1 da
#$80
;$8000-to1
o
00113
125f
a2
20
1 dx
#$20
;$2000-re
00114
1261
84
d0
sty
i nnen
o
00115
1263
85
dl
s ta
innen+ 1
o
00116
1265
84
d2
sty
i de
o
00117
1267
86
d3
stx
i de +1
o
00118
1269
bl
d0
ciklus
1 da
(innen)
. y
00119
126b
91
d2
sta
(ide),y
o
00120
126d
ee
19
ff
i ne
bordér
o
00121
1270
c8
i ny
o
00122
1271
d0
f6
bne
ciklus
0
00123
1273
e6
d3
inc
ide+ 1
00124
1275
e6
dl
i ne
i nnen-t 1
o
00125
1277
d0
f 0
bne
ciklus
;$ffff-ig ok
0
00126
1279
00127
1279
o
o
00128
1279
befejezes
00129
1279
o
00130
1279
o
00131
1279
8d
d0
f d
sta
bank
;system vissza
00132
127c
a9
Ib
1 da
#$lb
;kep be
o
o
00133
127e
8d
06
ff
sta
$f f 06
00134
1281
20
88
d8
jsr
scnc1r
o
00135
1284
20
4f
ff
jsr
pr i mm
o
0d
0d
20 20 20 41
20 4d 41 53
4f
4c
41 54 20 4b 45 53 5a 20 21
o
0d
00
o
00136
1287
. byt
13,13,’
a
másolat kész !’,13,0
00137
129e
4c
52
ff
jmp
mon
o
end of
assemb1 y,
error count =
00000
o
o
bank
f dd0
bordér
ff 19
cár ti
121f
ciklus 1269
o
cursh
ff 0c
cur s 1
f f 0d
expans
1223
figyel 1201
o
he l y
0ea5
i de
00d2
innen
00d0
másol 1247
o
matrIx
db70
mon
ff 52
ok
1229
plot fff0
o
pr imm
var
f f4f
122f
rom
00d0
scnc1r
d888
System 1227
o
15
MÁRCIUS
c=
KITEKINTŐ
a
o
00001
0000
* = $2000
O
00002
2000
m e X a k
= $ f f f e
;n)exakitorutin-vektor
o
00003
2000
i rq
= $ff09
;interrupt erzekeles
O
00004
2000
keret
= $ffl9
o
00008
2000
t
O
00006
2000
;
00007
2000
»
0
00008
2000
;
O
00009
2000
»
o
00010
2000
78
start
se i
;interrupt ki
O
00011
2001
ee
19 ff
esik
inc keret
;keret csíkozása
00012
2004
o ^
09 f f
bit i r q
;tortent mexak?
o
00013
200?
10
f 8
bp1 esik
; nem
O
00014
2009
a 9
20
Ida #>tovabb
;pc high
o
00015
200b
48
pha
O
00016
200c
a9
17
Ida tovább
;pc 1ow
00017
200e
48
pha
o
00018
200r
08
php
; sr
o ‘
00019
2010
68
p 1 a
;break-bit
00020
2011
29
ef
and #$ef
; tor lese
o
00021
2013
48
pha
;vissza
o
00022
2014
6c
f e f t
jmp (mexakJ
;irq keze 1es
o
jnP sr/t^-r
o
end oí
a s s emb1y
, error
count =
00000
o
esik
2001
i rq
f f09
keret ff 19
mexak fffe
o
o
start
2000
tovább
2017
Szövegszeletelő
SYS49152 hatására 5
karakter vastagságú szöve¬
get görgeti és közben elvág¬
ja. SYS49I79 hatására a
legfelső sort jobbról balra
görgeti.
Cv
MÁRCiUS
16
o
o
o
o
o
o
ü
o
o
o
100
1 10
120
130
140
150
160
170
1^30
190
200
210
220
230
240
250
260
270
280
290
300
310
320
330
340
350
360
370
380
390
400
410
420
430
440
450
460
470
480
490
5i30
RÉM"
RÉM "
RÉM"
RÉM"
RÉM"
RÉM"
3Z0VEGSZELETEL0 C-S4 I"
-
, , I"
készítette= ERUCE MAESTRO I"
X, i>>-4s+7*(:MiDircRá;,x.. i;o"@‘
TÉP S=S=0
DEPFHA í X > =RSC C MI < Flí-
FÓR 1=49152 TO 49202
■FÓR ..T=0 TO 7
'-■READ Rí-
• : R= 1 e*FHR (. 1 >+FHfl < 2 >
='POKE I+J.fl
! ; S=S■^-R
: HEXT
^RERD Rí
03= 16*FHH <; 1 > -Í-FNH C 2 >
IF<SflND255>=RTHEHHEXT ^ PRIHT"OK"^ GOTO290
PRINT"HIBR ^ " .; PEEK':;63>-^-256*PEEK<:64>
PR I HTCHRí < 147> ^ POKE53280. 0 = P0KE53281. © • P0K;E646.5
PRIHT"nSZOVEGSZELETEL.O. . . BV. BRUCE. MRESTRO."
GOSUE330
FÓR I=0TO90 > NEXT VS49179•SVS49152 = GOTO320
PRINT"W T -r I-1 -r T r-,
PRINT"
PRINT"
PRINT"
PRINT"
RETURH
DRTR
DRTR
DRTR
DRTR
DFITR
DRTR
DRTR
I
I I
I—I
I I I
I I
H9.00 ^ R2,00 RC í 27 / 04 / ER / 0C
CR / ED f 27 f 04 1 E8 1 9D r 27 j 04 .• 62
CR t EBi f 00.' DBi f F3 * 8C .* 27.* B^4 1 24
60. C800, fl2.00.. RC3 00.04.. 7R
ER. E8 ^ BD. 00,04. CR9D.. 00. FR
04.E8.E0,39,D0.F3,SC.27,7B
04,60, FF. FF, FF / FF.. FF, FF.. 5E
■* SVS49152 ^ R SZÖVEGET SZELETELI *
* *
* SVS49179 R FELSŐ SORT GÖRGETI 4- *
o
o
o
' y
O
o
o
o
o
o
o
o
o
o
o
o
SZOFTVER
Még többet ésszel!
X. rész
Az els() kérdésem úgy szólt, hogy mért jó a négybytc-os elő¬
olvasás kétszeri szerepeltetése a 180. és 250. sorokban. A válasz:
semmiért, sőt.
1 lyen előol va.sásnak akkor van értelme, ha egy eiklus feltéte¬
lének része a rekordok első részének vizsgálata, vagy valami má¬
sért tél akarjuk borítani az olvasás-feldolgozás rendszer egyen¬
súlyát, az olva.sás javára. Időnként előfordul ilyen helyzet, ame¬
lyet lehetne ugyan formulákba öntve tipizálni, de enélkül is felis¬
merhetők. Itt például úgy tűnik, hogy a ,,$” nevű, a tartalom¬
jegyzék kicsit kódolt képét tartalmazó lile végén van négy feles¬
leges byte. Mivel a (hátultesztclő) ciklus feltétele a lile végének
cl nem érése, ezért ilyen esetben valóban csak előolvasással aka¬
dályozható meg a tile végén túlról való olvasás.
Csakhogy a ,,$” filc végén nincsenek felesleges byte-ok. A
múltkor elmondtam, hogy az adatokat 32 byte hosszú cgy.ségck-
ben kapjuk, és az utolsó (a szabad terület) üzenet után a tlle-nak
vége van. Az ST értékét tehát a 32-es blokkok után kell megnéz¬
ni, és helytelen dolog a file-t ,,lúlolvasni”. Ezzel ugyanis koc¬
káztatjuk, hogy valami hiba vagy egy spéci lemezturbó program
miatt az ST értéke márclve.szíti a ,,filc vége” értelmű 64-es tar¬
talmat. Egyébként tudni illik, hogy az ST nyolc bitje különböző
üzeneteket hordoz. Mivel előfordulhat, hogy a file vége elérésé¬
vel egyidőben beüt valami adatátviteli hiba is, ezért file végét je¬
lezheti a például a 65, a 66 vagy a —64 is. Ilyen esetre jobb az
,,ST = 64” helyett az ,,ST AND 64” vay az. ,,ST” teltételek
használata. Ez utóbbival a ciklust minden nem nulla ST mcg.sza-
kílja, de ez általában úgyis célszerű.
Elég tehát minden rekord elején kiolvasni a négy byte-ot (1.
pl.): De vegyük észre, hogy a 190-es sorban így egymás után
beolvasunk 4 majd 28 byte-ot. Ezt értelmesnek látszik felváltani
egy 32 byte-os olvasási ciklussal, aminek csak az az ára, hogy
a rekordon belül minden pozícióhoz négyet kell adnunk.
Van itt egy kis probléma. Ez a megoldás elméletben nagyon
klassz, de kipróbálva valamiért nem működik. Néhány kísérlet
a gyanút egyértelműen az ominózus négyesre tereli, ezek olvasá¬
sakor valami nem stimmel. Hadd mutas.sak be az újoncoknak
egy közismert Nagy Titkot, amelyről soha többé nem szabad cl¬
feledkezni.
A BASIC hibás. Nem ez az egyetlen ilyen pontja, de talán
a legkínosabb. A GET utasítás, ha egy nullás kódú (CHR$(0))
karaktert olvas el, akkor nem ezt, hanem egy üres karakterláncot
(””) ad vissza értékként. Ha tehát egy 32 byte hosszú rekordot
olvasok be, amelyben valahol van nullás karakter is, akkor a ka¬
pott karakterlánc hossza kisebb lesz 32-nél, és persze a ké.sőbbi
karakterek mind balra tolódnak. Sajnos csak az a megoldás, ha
a GET helyett a 2. példához hasonló szubrutint használunk, vagy
valami gépi kódú szubrutint írunk e célra.
Most már igazán nem illik tovább titkolnom, hogy mit tartal¬
maz a bajkeverő négy byte. Az első kettő csak töltelék, fejléc ese¬
tében $01/04, egyébként $01/01 lehet. A másik két byte a filc
hossza, alsó/felső byte alakban. Aki még nem ismeri ezt a szó-
használatot, annak megmagyarázom: a hossz értékét két byte-on
ábrázoljuk, és a kisebb helyiértékű (alsó) byte van előbb. így pél¬
dául egy 258 blokk hosszú file esetében a négy byte értéke
$01/01/02/01. Látszik, hogy ha a hossz egyik byte-ja nulla (pl.
256 blokknál rövidebb a filc), akkor a GET utasítás itt hibázik.
Miért beszélek én végig GET utasításról, és miért nem
GET#-ről? Eile-okat az utóbbival kell olvasni, hogy működhet
mégis a program? — szólt a második kérdés. A kulcs a 180. és
250. sorok SYS utasítása, amelyek meghívják a CHKIN és
CLRCHN nevű Kernal szubrutinokat.
Táján kezdjük az elején. A gép használata során úgy tűnhet,
hogy a PRINT utasítás a képernyőre ír, és a GET vagy INPUT
a billentyűzetről olvas. Ehelyett a gép mindig az ún. elsődleges
kiviteli eszközre ír, és az elsődleges bemeneti eszközről olvas.
Ezek az c.szközök persze általában megegyeznek a képernyővel
és a billentyűzettel, de a kapc.solat megváltoztatható. A tárban
a DFLTO és DFLTN nevű rekeszekben (C64-cn ezek címei 154
és 153) van a megfelelő elsődleges eszközök .száma, bekapcsolás
után 3 (képernyő) és 0. A PRINT mindig arra az eszközre ír,
amelynek a száma a DFL'FO rekeszben található. Ha a nyomtatót
felkészítjük adatfogadásra és ezt a .számot 4-re cseréljük, akkor
onnantól mindei\ PRINT eredménye a nyomtatóra megy. Körül¬
belül ez lesz egy OPEN és egy CMD utasítás együttes hatása is.
Átállítható a bemeneti eszköz is, csak ehhez nincs a CMD-hez
hasonló utasításunk.
A külső egységekkel való kapc.solattcremtést végző szubru¬
tinok, az operációs rendszer részeként, a memória valamely te¬
rületén ROM-ba vannak ,,beégetve”. Ezeknek a szubrutinoknak
az összefoglaló neve a Kernal. A név eredetét nem ismerem, ta¬
lán rövidítés, de a ,,kernel” angolul magot jelent, itt esetleg az
operációs rendszer magját. Tudomá.som .szerint a Kernal minden
Commodore gépen úgy van elhelyezve, hogy belépési pontjai (a
meghívható címek) valami jellegzetes helyen csoportosulnak.
Talán mert így könnyebb azokat megjegyezni, vagy megtalálni.
Nem igazán BASIC tudnivaló, de a legfontosabb Kernal .szubru¬
tinok úgy vannak előkészítve, hogy helyettük cgy.szerű módon
beille.szthetjük saját szubrutinjainkat, és még a belépési ponto¬
kat sem kell az azokat felhasználó programokban megvál¬
toztatni.
A Kernal szubrutinoknak saját nevük van, amelyet a Com¬
modore cég szabványosított a gépei számára. Ezért mostantól
nem említem meg a belépési pontokat, mivel az minden gépen
más lehet. A megfelelő számértékek minden tisztességes kézi¬
könyvből kikereshetők.
A Kernal azért érdekes a számunkra, mert BASIC program¬
ból is elindíthalók a .szubrutinjai, és ily módon néha olyan elemi
periféria-műveleteket végezhetünk, amelyek BASIC utasítások¬
kal nem valósíthatók meg. Például a LOAD szubrutin meghívá¬
sával betölthető egy file anélkül, hogy a BASIC főprogram elöl¬
ről kezdődne, lásd LOAD utasítás.
A meghívásra a SYS utasítást vagy az USR függvényt lehet
használni. Ekkor a BASIC program értclmczé.se félbe.szakad, el¬
indul a kijelölt gépi kódú program. A REl'URN gépi kódú meg¬
felelőjének (assemblyben RTS) hatására a gép visszatér a BASIC
programhoz, mint egy rendes szubrutin esetében. A kéziköny¬
vekben olvasható, hogy melyik Kernal szubrutin milyen beme¬
neti paramétereket kíván, ezek átadásáról híváskor szintén gon¬
doskodnunk kell. A SYS végrehajtásakor a gép a tár 780—783.
számú (C64) reke.szeiből feltölti az A, X, Y és SP nevű regiszte¬
reket (ezt most már nem magyarázom cl), ezek megfelelő értékét
tehát nekünk kell a hívás előtt beállítanunk.
A Kernal felhasználására egy másik példa a 180. sorban lát¬
ható alkalmazás. A C64-bcn a 65478-as címen a CHKIN nevű
17 ' MÁRCIÜS
szubrutin kezdődik. Lényegében ez a CMD utasítás bemeneti
megfelelője. Ennek köszönhetően a bemeneti eszköz átváltozik
az 1 logikai számú file-ra, a számot a 781. rekeszben adjuk át
az X regiszternek, ahogy kell. A továbbiakban a GET utasítás
már nem a billentyűzetet olvassa, hanem az 1. számú file-t. Ezt
az állapotot szünteti meg a 250. sorban a CLRCHN meghívása,
amely nem kíván paramétert.
Kérdés lehet, hogy miért jó, ha az elsődleges eszközök ilyen
átirányítását választjuk a file-ok (má.sodlagos) közvetlen olvasá¬
sa helyett. Sajnos én nem tudok meggyőző választ adni. Ennek
a módszernek valami történeti oka lehet, a kevésbé fejlett nyel¬
vek és gépek archaikus korszakából. Talán azt a lehetőséget
igyekszik szolgálni, hogy a kiviteli utasítás egységesen a PRINT
lehessen, és a mindenkori célt szabadon állítgathassuk CMD
utasításokkal. Hasonlóan kell értelmezni a beviteli eszközre vo¬
natkozóan is.
Nem hibás ez a módszer, de őszintén ajánlom az elkerülését.
A ki- és beviteli eszközöket a rendszer önmaga is gyakran állít-
gatja, ezért könnyen kersztezhetjük a géppel egymás szándékát.
Az átirányított adatforgalomba, mivel azt nem szabályozzuk
közvetlenül, bekerülhet oda nem illő részlet, a gép rendszerüze-
nctei, az INPUT promptja, és még ki tudja, mi minden. Nagy
bossz.akodás oka lehet, ha a PRINT szövegében feledékenyen el¬
ejtett színvezérlő karakter a nyomtatáskor például ledob egy la¬
pot vagy valami ördöngős nyomtatási módba vált. Szándékosan
utoljára említem meg az, hogy egy GET# utasításról nyomban
TIPPEK-TRÜKKÖK
látszik, hogy valamilyen file-ból olvasok vele, és akkor ehhez
tartom magam a program többi részében is (nyitás, zárás, ST,
hibaüzenet stb.). Egyetlen olyan I/O utasítás van, amelynek
nincs másodlagos eszközre irányuló párja a LIST. Hagyjuk meg
tehát a CMD-t és Kcrnal társait a programlistázás igénytelen fel¬
adatára, és a file-ok írá.sát-olvasását végezzük erre kitalált utasí¬
tásokkal. Vonatkozik ez a mostanáig vizsgált kis programra is,
amelynek elemzegetését ezennel befejeztem.
Hódi Gyula
IRQ sprite
SYS49152 hatására a 11-es tárolóban lévő sprite jobbról balra
görög. A spritében tárolhatunk üzenetet vagy jegyzetet.
O
O
o
o
o
o
o
o
o
100 RÉM *i*#*#**i******i***i*i**aíif»****:**i*
110 RÉM * IRQ SPRITE C-64 *
130 RÉM * RKT^49t52 LERLL. ' RUH.-'STOP*
140 RÉM ■*...• 4!
ir50 RÉM ♦ készítettem BRUCE MRESTRO *
160 R;EM mi********************;*****:***
170 :S=0:E=0
180 'FÓR 1= 49152 TO 49241
190 ^ ^ REFlDR ^ POKEI . R ^ S=S+R
200 ■ MIEXT
210 •i aF SC> 12533 THEN PRINT"HIBA"
220 - : P0KE5328S.. 1
230 •■FÓR 1= 704TO 766
240 ^ ^ RERDR ^ POKEI/R ^ E=E+R
250 ^ ne:>ít
260 aF EC> 3613 THEN PRIHT"HIBR"
270 DRTR 120.. 169.. 021.141,020.. 003, 169
280 DRTR 192,141,021,003,160,00@,140
290 DRTR 084,192,140,086,192,OSS,096
300 DRTH 169,011,141,249,007,169,083
310 DRTR 141,021,208,169,120,141,803
320 DRTR 208,.238,002,208,234,234,234
O
O
O
O
o
o
o
o
330
340
350
360
370
380
390
400
410
42:0
430
440
450
460
470
480
490
500
510
DRTR 234,234,234,234,234,234,234
DRTR 234,234,234,234,234,234,234
DRTR 234,234,234,234,234,234,234
DRTR 169,000, 141,032, 208, 141,033
DRTR 208,200,192,030,288,002,160
DRTR 000,140,086,192,076,049,234
DRTR 000,000,004,006,009,011
RÉM i***************************
RÉM * R SPRITE RDRTflI *
RÉM ítíi**************************
DRTR 000,000,000,000,000,000,000
DRTR 000,000,255,255,255,000,00©
DRTR 000,151,161,015,148,833,009
DRTR 148,033,009,247,161,809,148
DRTR 033,009,148,833,009,151,189
DRTR 239,000,000,000,255,255,255
DRTR 080,000,000,000,000,000,000
DRTR 000,000,000,000,000,000,000
DRTR 000,000,000,000,000,000,©00
O
O
O
O
O
O
O
O
Qt MÁRCIUS JI8
TIPPEK-TRÜKKÖK
JACKIE UTILITITES C-64
II. rész
o
A C64-csbcn levő VIC-II grafikus chip rasztennegszakítási
lehetőségeit BASICből is (!) kihasználhatjuk a 4. listán található
,.RÁTÉR HELP” rutinnal. A képernyő0—255-ig terjedő rasz¬
tersor tartományában tetszőleges számú, de maximum 255 db
megszakítást hozhatunk létre, ahol a keret és a háttér színét meg¬
változtathatjuk. Használata: SYS 49152, tömb / % (0), tömb 2
% (0). fömbJ % (0). Az egész típusú, azonos elemszámú, egydi¬
menziós tömböket előre definiáljuk és töltsük föl a megfelelő ér¬
tékekkel. De vigyázzunk, csak akkorára dimenzionáljuk, amek¬
kora részt ki is használunk teljesen belőlük! A ,,tömb l’-be a
megszakítás! helyek rasztersor számát (0—255) kell beírni. Az
egé.sz helyek közt legalább 4 rasztersornak, a két legaksó közt
pedig (ha a billentyűzetet is használjuk közben) legalább 34-nek
(!) kell lennie! A ,,tömb2” a keret, a ,,tömb 3” a háttérszínének
kódjait tartalmazza, ami akkor íródik be a megfelelő VIC-II re¬
giszterekbe, ha a nála eggyel ki.sebb indexű ,,tömb 1” elem által
definiált helyen jön létre a megszakítás. A rutint a SYS 49440
paranccsal állíthatjuk le.
Az 5. lista ,,IRQ MUSICER” programja a BASIC-ben
programozó zenekedvelőknek nyújt nagy segítséget. Akár há¬
rom szólamú zenét is képes eljátszani a BASIC programunk futá¬
sa vagy írása közben is. A mcg.szakítás-vezérelt programot a kö¬
vetkezőképpen bírhatjuk munkára: SYS49152, kissílcts, FI% (0),
KI% (0), F2% (0). K2% (0), F3% (0), K3% (0), H% (0). Ismét
azonos elemszámú, egydimenziós egész típusú tömböket kell
használnunk és kötelezően csak akkorára defmiálhatjuk őket,
amennyit ki is ha.sználunk, mert különben a rutin hibá.san mű¬
ködhet! A számozott ,,F” tömbök az egyes szólamokhoz tartozó
frekvenciatáblázatot tartalmazzák. A ,,K’-kban a szólamok
kontrollrcgi-sztcreinekértékét kell megadni (SID4, II., 18. vagy)
végül pedig a ,,H” tömb elemeinek első byte-ja a SÍD 24., felső
byte-ja pedig a SÍD 23. regi.szterébe íródik be minden, a lassítás¬
nak (1—255) megfelelő számú IRQ-ban. Amennyiben nem kí¬
vánjuk kiha.sználni mind a három szólamot, a megfelelő tömbö¬
ket nullákkal töltsük töl!
„MULTI SPRITE POSITIER” a neve a 6. lista programjá¬
nak. Intrókban, meókban és a játékok címképernyőinek látvá¬
nyos megalkotásához rendkívül jól felhasználható, ugyanis .segít¬
ségével egyszerre mozgatható a C64-es által biztosított 8 db spri-
te egy előre a felhasználó által — definiált pályán, tetszőleges
követési távolsággal. Indítsa tehát: SYS49152, X % (0), y % (0),
lassítás, / % (0). Az első két paraméterenként megadott azonos
(max. 254!) elemszámú, kötelezően egydimenziós. Integer típu¬
sú tömbök tartalmazzák a szellemek pályájának koordinátáit
rendre, x, y sorrendben. A ,,lassítás” funkciója egyértelmű, de
ha nullának ves.szük, a rutin kikapcsolódik. Az utolsó paraméter
egy 8 eleműre (ü—7!) definiált integer tömbváltozó, melyen
minden szellemhez külön-külön úgy kell adni a követési távol-
.ságot. A kipróbálásban segít a ,.MULTI POSITIER HELP” ru¬
tin (7. lista), amelynek segítségével egy ellipszis pályát határoz¬
hatunk meg a szellemeknek. Ha a középpontot 172;140-nek. az
x;y számokat pedig 148, ill. 90-nek vesszük, a sprite-ok a látható
területen a legnagyobb ellipszis pályán lógnak mozogni. És
mindez természetesen raszter megszakításban! Ha netán egy-cgy
helyen villanást észlelünk az objektumokban, azt a POKE (140),
PEEK (140)-l parancc.sal korrigálhatjuk.
Ü
Ü
O
o
o
o
o
o
100
110
120
130
140
150
160
170
ISO
RÉM"
RÉM"
r
R03TER HELP
COMMODORE 64 I"
REM-IIRTR' .JPlCKIE MFlESTRO 1"
REI-l" i.--
RÉM" I
RÉM" H
C 2
O
o
l<“4S'15.2 * V=45'4-63
DEF-FMli<;>0=RSC<MIDÍ CRst, H, 1 ;■ '.i-4i?.»'.
<:t'IIDÍ-<F|40X,
190 FÓR I=K TO V STEP 8>S=0
2:00 ■ tfroR J=0 TO 7
10 — 'REFtD FM:
220 > l-l=16it<FNFK 1 >'*'FNFl<:2>
230 " ‘ ' POKE I + J. Fi • PR 1HT " 23" ; I + J
240 ■ ' S=S+F1
250 ■ M'iEIKT
260 i'RERD
270 ‘‘0=16* FNfi í: 1 > ■(■FI- IFI >: 2 >
2S0 i: F < SFIMD255 ;■ =iTTHEHNE;>ÍT ‘ PR IMT " Olí
‘ EHÜ
o
2 S »0
PRÍM'
r"H.teR
‘ "; PEEl
, 6:5
*PEE
TÓD
30Ö
DflTfl
20 ,
BE,
. C0 ,
FlO,
06,
Bl,
47
,15D,
C9
301
DfiTFl
RFl,
02 ,
. 20 ,
FF,
CO,
Fl2,
00
, R0,
CD
c
DRTFl
00 ,
1:31,
. 47,
CS,
00 ,
F0,
03
,4C,
00
303
DRTFl
48,
E2,
, 03 ..
.Bl,
47,
9D,
00
, CD,
24
ü
304
DRTFl
20 ,
FI,
. C0 ,
E:3,
EC,
FIIT,
02
, D0,
21
305
DRTFl
E 6 ,
20 ,
.BE,
C0 ,
20 ,
FF,
C 0
,R2,
05
306
DlTTH
00 ,
R0,
.01 ,
Bl ,
47,
9D,
00
, CE,
04
307
DFlTlT
20 ,
FI,
' CO,
E:3,
EC,
iTFl,
02
> Ü0 f
21
0
303
DRTR
F0,
20,
BE,
C0,
20,
FF,
C0
/ R2 7
OF
303
DFiTR
00 ,
FI0,
01,
Bl,
47,
9D,
00
.. CF 7
05
510
DRTFl
20,
1-1 ,
Cü,
Ei3,
EC,
ITFI,
02
,.□0..
21
311
DRTFl
FO,
Fid,
00 ,
CF,
SD,
21,
00
7 riD 7
97
312
DRTFl
00 ,
CE,
SD,
20,
D0,
R3,
01
7 ÖD 7
:E:2
ü
313
DlTTFl
R:9,
02,
R:9,
00 ,
oD,
OE,
DC
7 7B 7
43
314
DRTFl
Fid ,
00 ,
CD,
:5D,
12,
D0,
HÜ
7 II 7
R7
DFITR
D0,
29,
7F,
:3i:;i.
1.1,
D0,
t”l3
7 31,.
10
C
316
DRTR
:3D,
ÍR,
D0,
R9,
:3F,
ÖD,
14
7 037
53
317
DRTR
lT:5,
C0,
:3D,
05,
0::5,
5:3,
60
.■ hD 7
73
3* 1 y
DRTR
19,
D0,
SD,
i:9,
DO,
RE,
fl9
7 02 j
B:5
ü
319
DflTfl
BD,
00 ,
Cl-,
8 D,
21 ,
DO,
BD
7 00 7
C7
32Ü
DRTFl
CE,
ÖD,
20,
DO,
BÜ,
00 ,
CD
7 3 D 7
62
321
DRTR
12,
D0,
EE,
Fl9,
02,
ES,
EC
7 RFí 7.
F:?
DRTR
02,
D0,
0:5,
R9,
00,
13D,
IT9
7 02 7
BB
cl.
DRTR
4C,
31,
ER,
4C,
BC,
FE,
2:0
7 FD 7
8R
O
324
DRTR
RE,
20,
:3B,
B0,
3:"3,
RS,
47
AZSj
16
3i:iy
DRTR
07,
85 ,
47,
Fl5,
48,
ES',
00
7 357
2E
3526
DRTFl
4.3,
flO,
00,
Bl ,
47,
OR,
B0
7 00 7
9F
O
327
DFITR
H;2,
16,
40,
3lT,
FI4,
C:3,
Bl
7 4? 7
IT2
32y
DRTR
OR,
90,
F5,
RI.T,
04,
Bl,
47
7 7
F4
330
331
í38
;39
Dl-TTR
DlTTFI
ÜRTR
DRTFl
DlTTH
DFlTlT
DlTTFl
DlTTR
DFITFI
DFiTR
RÉM =
02. 90.. 05 / |T2.. 12,4 C ^ 3tT.- Fl4 .• 75
60 ^13/ H5 ^ 4 Z / ‘-'9 j 0.2 f 05.. 4 Z í Irí'D
tT5í 43.. 69> 130^ 35 ^ 43 , i:>0 , 1=10.• 23
05 / B1 / 47 / 0:3', 00, F0 / 03 ^ 4C, 05
4S í B2;, CS.. BI í 47 / CD , FlFl.. 02, 33
DO, F5, 1S, Fl5.47 í 6:3.07 H35 / BE
47 .• Fl5,43.. 6:3‘, 00.. 85,4:3,60, CFi
7::5 , Fl9 ..31, ;3D ,14,03, R9, EFl, 89
8D, 15,0:3, FI9,00, :3D, l Fi. DO, C5
R9,01,SD,OE,DC,53,60,OO,09
.RFOnv.
o
O
O
O
o
o
ü
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
19
1ÁRCIIIS
o
TIPPEK-TRÜKKÖK
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
Cv
ll'IULTI SPRITE POSITIER
CDI'II’IODORE 64
IRTI-I" JFlCKIE MflESTRO
100 re:m"
110 REI'I”
120 RÉM"
130 REN"
140 REN"
150 REN"
160 ■
170 K=49152 ' V“4955:3
180 OEFFHPÍX>=FlSC(:t'IID:t:<:Pí. X, 1 > >-4S *-7:*
i:>>"ia">
190 FÓR I=K TO V STEP 8■S=0
200 ''FÜR J=0 TO 7
210 '‘-RERD fl#
220 ■ ■ > 16»FMl=l <: 1 >+FNR < 2 >
230 ' ' " POKE I + J/ n' PR INT "::j", I + J
240 ' = =S=S+Fl
250 ' = NEXT
260 ' i RERD Fii
270 ' " fl= 1 emFNEl C l > •‘•FI'IR C 2 >
280 IF <; SFIND255 > = flTHEMNEXT •- PR IHT " Olí " ■ END
290 PRIHT"HIGFl ■ " ; PEEKÍ 63>+256*PEEI<‘.;64>
300 DFiTFl 20,27, Cl, 1=10.06,131/47/80,33
301 DRTFl fifl, 02,20,68, C 1,02,00,1=10,37
302 DflTfl 00,El,47,C9,02,90,O3,4C,Fl2
303 DOTO 48,02,90,00,C7,C8,01,47,lE
304 DOTFI 90,00, C6,20, 50, C1, E8, EC, 72
305 DOTO 00,02,00,E3,20,27,C1,20,87
306 DOTO 63,01,02,00,00,00,01,47,63
307 DOTO C9,00, F0,03,4C, 48,132, CS, CR
303 GOTO B1,47,90„00,CS,20,50,C1,98
309 DOTO E8,EC,00,02,DO,E6,20,FD,53
310 DOTO OE,20,9E,e7,86,SE,OD,RflTSE
311 OOTR 02, 85,8C,09,08,SD,00,02,FO
312 DOTO 20,27,Cl,20,68,Cl,02,00,F3
313 DOTO 00,00,01,47,C9,00,F0,03,54
314 DOTO 4C,48,B2,C8,B1,47,9D,O0,O3
315 DOTFl C9,20,5O,Cl,ES,E0,08,G0,Fl4
316 DOTO E7,05,SE,00,17,78,09,31,53
317 DflTfl 80,14,03,09,EO,80,15,03,DC
318 DOTO 09,00,80,10,00,09,01,80,57
319 DOTFl 0E, 00,58,60,09,00,85,3F, 51-
320 DOTO 78,09,FF,SD,12,00,00,11,40
321 GOTO 00,29,7F,30, 11,00,Fl9,81,10
322 DFiTO 80,10,00,09,00,80,0E, DC, 97
323 GOTO 09,,C4,80, 14,03,09, C0,80, 07
324 ORTFl 15,03, 58,60,00, 19,00,80, F3
325 DOTFl 19,D0,E6,SF,O5,8F,C5,3£,E5
326 DOTO F0,03,4C,31,£0,09,00,85,88
327 DOTO 81- ,09,00,35, 02,80,10,00,2C
328 DflTfl 06,02,00,00,C9,00,05,02,7F
329 DFITO 00,08, BD, 00, C6, 99,00, DO, 9E
330 DOTO BD,0O,C8,99,01,DO,E:D,00,OC
331 DflTfl C7,F0,0B,O4,02,B9,89,C1,6B
332 DOTO 00,10,00,80,10,00,E6,02,42
333 DFITO Fl5, 02, C9,03,00,02,02,00,00
334 DOTO FE,0O,C9,BD,00,C9,C5,8C,9E
335 DOTO D0,05,O9,00,9D,00,C9,ES,CC
336 DflTfl E0,03,00,EC,4C,31,£0,20,20
337 DOTO FD,OE,20,8e,B0,3S,O5,47,2O
338 DOTO E9,07,85,47,05,48,E9,00,92
339 DOTFl 85,48,00, 00,01,47,00, BO, 1F
340 DOTO 05, 02,16,4C, 30, Fl4, CS, B1,60
341 DFITO 47,0fl, 90, F5,00,04,01,47, 72
342 DOTO C9,02,90,05,02,12,4C,30,90
343 DFITO 04,60,18, 05,47,69,02, 85, F8
344 DOTO 47,05,48,69,00,85,48,60,CO
345 DOTO FI0,05,B1,47,C9,00,F0,03,59
346 DOTO 4C,4S,G2,CS,Bl,47,CD,Fl0,7'D
347 DOTO 02,D0,F5,18,05,47,69,07,30
348 DOTFl 85,47,05,48,69,00,85,48, EF
349 DOTO 60,01,02,04,03,10,20,40,DF
350 DOTO 80,00,00,00,00,00,00,00,80
351 REN
REODV.
O
O
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
MÁRCIUS
20
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
IRQ MUSICER
COI'INODORE 64
IRTÓ" JOCKIE NFlESTRO
100 REN"
110 REN"
120 REN"
130 RÉM"
140 REN"
150 REN"
160 =
170 K-49152>V=49626
180 OEFFHFK:><>=OSC<NIDÍ<:flÍ,X, i;'>-43+7*
';NiosfO=ii,x, i>>"i«i">
190 FÓR I=K TO V STEP 8=S=0
200 '‘FÓR J=0 TO 7
210 ■'"REOD Oi
220 ' = N=l=16#FNFl<: 1 > + FH0<2;'
230 ■ ■ = P0KE I + J, 0 . PR I NT " IT' .i I +..T
240 :!:S=s+fl
250 > =HEXT
260 iIREOD Oi
270 ==0=1 6=*íFN0 ■; 1 > +FNO =; 2 >
230 IF C SFIND255 > =OTHENHEXT = PR I HT "OK " = EHD
290 PR I NT ” H100 ■ " , PEEK! < 63 > +256*PEEI=.: =.: 6 ‘* >
300 DOTO 20,FD,FlE,2O,9E,B7,S£,FlS,76
301 DOTO 02,20,73,Cl,00,05,01,47,F3
302 DOTO C9,00,F0,03,4C,4S,B2,C3,CO
303 DOTO Bl,47,8D,Ofl,O2,20,B9,Cl,Crí
304 DFITR 02, 00, FlO ,00,01,47,90,00 ,"07
305 DFITR C 6 , CS ,31,47,90, OO, C5, 20, OS
306 DOTFl OB,Cl,E8,EC,FlO,02,D0,EO,O6
307 DOTO 2O,7S,C1,20,B9,C1,O2,O0,95
308 DOTO O0,00,B1„=17,C9,O0,F0,03,54
'3í:i9 DOTFl 4C, 43,02, CS, 01,47, 9D, 00,03
310 DOTO C7,20,OB,C1,ES,EC,OO,02,D3
311 DflTfl 00, E: 6 , 20.78, Cl, 20,09, Cl, 09
312 GOTO Fl2,00,O0,00,Bl,47,9ü,0O,D7
313 DOTO C9,C8,B1,47,9D,00,C8,2O,0E
314 ÜRTFl Fie,Cl,ES,EC,FlO,02,DO,Efl,O6
315 DOTO 20,7S,C1,20,B9,C1,O2,00,95
316 DFITO 00,00, B1,47, C9, 00, FO ,08,54
317 DFITO 4C, 48 , E!2, CS, 01,4 7,90,00,03
318 DOTO Cfl,20,flB,Cl,ES,EC,Fin,ú2,D6
319 DOTO D0,E6,20,78,C1,20,O9,C1,O9
320 DOTO 02,00,00,00,61,47,90,00,07
321 DFITO CC,C3,01,47,90, 00, CB, 20, 14
322 DlRTFl FlO, Cl, E 8 , EC, 00,02, DO, EO, 06
323 GOTO 20,78,C1,20,B9,C1,02,00,95
324 GOTO 00,00,01,4 7,C9,00,FO,03,54
325 DOTFl 4C,48,02,CS,01,47,90,00,03
326 DOTO CD,20,0B,C1,ES,EC,00,02,09
327 DOTO DG,E6,20,78,C1,20,EÖ,C1,O9
328 DOTO 02,00,00,00,01,47,90,00,07
329 DOTO CE,C8,B1,47,9D,00,CF,20,10
330 DFITO OB,Cl,E3,EC,FlFl,02,DO,EFl,Fl6
331 GOTO 09,00,80,07,02,SD,09,02,17
332 DOTO 78,09,OD,80,14,03,09,C1,3C
333 DFiTFl 80,15,03, 58,60, EE, 07, 02, F4-
334 DOTO FlD,O7,02,CD,FlS,O2,F0,O3,C0
335 DriTO 4C,31,£0,09,00,80,07,02,46
336 DOTO OE,09,02,00,00,C5,80,00,68
337 DFITO 04, OD, 00, C6,80, 01,04, BD, 76
338 DOTO 00,C7,80,04,04,00,00,CS,01
339 DFITO 80,07,04,150,00, 09,80,08, 83
340 DFiTFl D4, BD, 00, CFl, 80, 815,04, BD, 84
341 OFiTFl 00,CB,8O,0E,O4,BD,O0,CC,C3
34 2 OFITFI 80, OF, 04, BO, 00, CD, SD ,12,99
343 DOTO 04,BD,00,CE,80,17,D4,BD,94
344 GOTO 00,CF,80,13,04,EE,09,02,E1
345 DÓT 0 no, 09,02, CD, 00,82, DO, 05, flií
346 DOTFl Fl9,00,SD,O9,O2,4C,31,EO,48
347 DOTO 20, FD,FlE, 20,80,60,38,05, 03
348 DOTO 47,E9,07,85,47,05,48,E9,09
349 DOTFl 00, 85,48,00, 00,01,47,00, GF
350 DFiTFl BO ,05,02,16,4C, 30,04, C 8 ,5F
351 DOTFl 01,47,00,90, F5,00,04, B1, DC
352 DFITO 47,C9,02,90,05,fl2, 12,4C,Fl7
353 DOTO 30,04,60,13,05,47,69,02,00
354 DFITO 85, 47,05,48,69,00,85,48, EF
355 DFITO 60.00,05, B1,47, C9,00, FO, 06
356 DOTO 03,4C,4S,B2,CS,B1,47,CD,D6
357 DOTO 00,02,D0,F5,1S,05,47,69,DE
353 DOTO 07,85,47,Fl5,48,69,00,85,OE
359 DOTO 48,60,00,00,00,00,00,00,08
360 REN ===============================
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
REOOV.
TIPPEK-TRÜKKÖK
o
o
o
o
o
o
o
100
110
ISO
130
140
150
160
1?0
180
190
200
210
220
230
240
250
260
270
RÉM"
RÉM”
RÉM”
RÉM”
RÉM"
RÉM"
MULTI P0^3ITIER HELP
COI-1M0OORE 64
KES2ITETTE' JHCKIE
i;itM x:i<;254>,VL’':254:), i:-;<7:'
POIÍE 532S0,.'POKE 53281..
POKE 646.7 > PÜKE 650.255
POR 1=0 10 7
= = i:-;< 1 >=i0*i
= =P0KE 53237+1,3
'■PÜKE 2040+1,13
MEXT
POR 1=332 TO 396
='POKE I,255
NEXT
o
o
o
o
o
o
o
2S0 FOKÉ 53275,255' POKE 53269,255
290 PR INT CHR5r (:i47>
300 INPUT "KÖZÉPPONT X-KOODRINMTI-I" 1KX
310 INPUT "KÖZÉPPONT V-KOOORINRTPl",KV
320 INPUT "X-IRhNVU SUORR NHGíVSRGR", SX
330 INPUT "V-lfeONVU SUGRR NRGVSRGR’SSV
340 J=0
350 POR 1=0 TO 2*ir STCÍP < ír/127:;'
360 ''XX';:j>=cos<i>h(&x+kx
370 ' ' V-; <: J >=S IN < O '+:SV+KV
380 ■'J=J+1
390 NEXT
400 POKE 5:5230, . 'POKE 532S1,.
410 SVS49152, XX < 0 > , VX < O > , 1, 1X r; O >
420 EHD
430 RÉM ==
RERD't’
O
Ü
O
O
O
O
O
o
o
o
o
o
O
O
O
O
O
O
O
o
o
o
o
o
o
o
o
100
1 1 0
120
1:38
140
150
160
170
180
190
200
210
2 2 ! 10
230
240
250
260
270
280
298
300
310
320
330
340
350
360
370
FÍET'I :1í*##if#;+ií(i********i*#4;*:*******:+i* P
RÉM SPRITE ÖSSZEÁLLÍTÓ C-64í+í
RÉM * ========'=1========'= *
RÉM * , ,
RÉM * KÉSZÍTETTE' BRUCE MAESTRO #
RÉM * <OLASZ ENDRE> *
RÉM ;+:s|t**'+:**:'l<***'H':i******;+:*:'«**+:*+***
PR I NT " ::J" ' POI<E532S0,8 ' P0KE532S 1,0' P0I<E646,5
FÓR 1=532871053295 ' POKEI , 1 ' HEIXT
POKE650,£55
FÓR 1= 16320 TO 163S2
''READR'POKEI,A'S=S+fl.
HEIXT
IF SO 1056 THEH PRINT"HIBA"
DATA 080, 000,0013, 000,000,000,088
DATA 000,000,000,000,000,000,000
DATA 000,000,000,000,000,004,000
DATA 000,012,000,000,024,080,008
DATA 043,000,800,096,©00,024,192
DATA 000,025,128,800,827,008,808
DATA 030,000,000,031., 192,800,031
DF1TFI 1 92,000,000 , ©00,000,000 000
DATA 000,000,000,000,008,000,800
POKE2040,255 ' F=0 ' A=0 ' B=0 ' C""'© ' D=0 ' R=@
P0KE5:3269,255
X=24'V=50
Sprite összeállító
Ebben a programban maximum 6
spritét állíthatunk össze. Egy nyíl mu¬
tatja, hogy hányas számú spritét lapoz¬
gatjuk.
1. billentyű lenyomására az első
spritét lapozzuk, 2. billentyű lenyomá¬
sára az első spritét visszafele lapozzuk.
3., 4.
billentyű második sprite
lapozás előre, hátra.
5., 6.
billentyű harmadik sprite
lapozás előre, hátra.
7., 8.
billentyű negyedik sprite
lapozás előre, hátra.
9.,0.
billentyű ötödik sprite
lapozás előre, hátra.
+ ., —■
billentyű hatodik sprite
lapozás előre, hátra.
K.
kilépés
O
O
o
o
o
o
o
o
o
o
o
380 PRINTTRB C8 "iüWl
390
PRINT"!....
1.
:3PRITE
SHAPE
480
PRINT"2_
1 .
SPRITE
SHAPE
-
410
PR INT "3. . .
2.U
SPRITE
SHAPE
420
PRINT"4....
2.
SPRITE
SHAPE
430
PR int "5,. . . .
3.
SPRITE
SHAPE
440
PR INT" 6. . .. .
3u
SPRITE
SHAPE
“
450
PRIHT"7....
4.
SPRITE
SHAPE
460
F4:;:IHT"S. . . .
4.
sprite:
SHAPE
470
PRINT"9_
5-
SPRITE
SHAPE
4'
480
PRINT"0_
5.
SPRITE
SHAPE
490
PRIHT"+_
6 -
SPRITE
SHAPE
4'
500
PRINT"--
6.
SPRITE
SHAPE
510 PRINT"K..., EHD
520 POKÉ53250,100'P0KE53251,70
530 P0KE53252,121' P0I<E53253,70
540 P0KE53254,100'P0KE53255,91
550 P0KE:53256 ,121= P0KE53257,91
560 P0KE5325S, 100'P0KE53259, 113
570 POKESSaeO,121'P0KE5326 1,113
580 üETR:*:
590 IFn#= " 1 " THENR=R+1 ' ;";=90 ' Y=55
600 IFA.í:""'" 2 "THEHR=A--1 ' :X=90 ' V=55
610 IFfl$:="3“THENB=B+l 'X=150'V=55
620 IFRa:'.- "4 "THENB=B--1 = 150 ' V=55
rTTTTTT2;B:w)«iiii;BW';:iSt:;.!!:ii
O
630
I Ff:ia= "5 " THEHC=C+1 ' X=90 ' VítsSO
O
640
IFRí="6"THEHC=C-l ' :":=90 ' V=S0
6; 50
IFAa="7"THEND=D+1'X=150'V=S0
0
O
660
IF"Aí:== " S" TI-IEHD=D-- 1 ' X= :l, 50 ' V=80
STB
I Ffia= " 9 "THEHR=R+ 1 ' :";=90 ' '■1’= 1 05
680
IFAa="0"THENP=R-1'X=90'V=185
0
o
690
I FF:|Í= " + " THENF='F+1 ' X= 158 ' V=' 105
700
11-A:f = " - " THENF'==F- 1 ' X= 150 ' V= 105
o
710
IFRa=""K"THEHP0K.E53269,0 ' END
O
720
IFA';:0THENA=0
730
I FR>255THE:NA=255
O
o
740
IFB'::0THEHB=0
750
IFB>255THENB=255
760
IFC<0THENC=0
O
o
TTB
I FC>255THENC;=255
7 fi (Ti
o
790
IFD>255THEHD=255
O
880
IFFC0THEHF=0
810
IFF>255THEHF=255
o
0
820
IFR<0THENR=0
830
IFR>255THEHR=255
Q
831
P0KE5324S, X ' P0I<E53£49, V
0
C ' POKE2044, D ' POKE2045, R ' POKE2046, F
845
POKE204©,255 —
o
050
GOTO5S0
HARDVER
O
Hobbi ELEKTRONIKA
C-64 IC teszter
Különböző C-64 bővítők, logikai
áramkörök építésé, tesztelése, javítása so¬
rán gyakran találkozunk olyan problémá¬
val, amikor egy TTL IC paramétereit mű¬
ködőképességét kellene meghatározni.
Elvileg ez nem nagy gond. Mivel ezek ka¬
talógus áramkörök, egyértelműen adott a
működésük igazságtábázata, ami alapján
a teszt elvégezhető. A gyakorlati megvaló¬
sítás azonban komoly korlátokba ütközik.
Gondoljuk meg, hogy ezen IC-k nagy
többsége 14, 16, 18 vagy 20 lábú tokban
helyezkedik el. Vegyük alapul a 14 lábú
tokot és ennek egy gyakran használt rep-
rezentását a 740ü-át. A bekötését és igaz¬
ságtáblázatát itt most szándékosan nem
adom meg, mert mindenkinek van olyan
katalógusa, amelyben ez szerepel. Ha ezt
az IC-t tesztelni akarjuk hagyományos
módszerrel az igazságtáblája szerint, tá¬
pot adunk neki és jelkombinációt kapcso¬
lunk a bemcnctckrc, közben figyeljük a
kimenet válaszát. A fixen télkötött két táp¬
vezetéket leszámítva 12 lábat kell ,,végig¬
tapogatni”. A gyakorlati megvalósítása
ennek nem is olyan egyszerű, pedig itt
4X3-as csoportban végezhetjük el a mé¬
rést. A nagyobb gond akkor van, ha nincs
igazságtáblánk vagy olyan IC kerül a ke¬
zünkben, amit nem tudunk azonosítani. A
saját gyakorlatomból tudom, hogy a szov¬
jet IC-k nagyrésze ilyen és ezeknél a meg¬
bízhatóság sem a legjobb. Nem elhanya¬
golható az a tény sem, hogy egyre több he¬
lyen kerülnek selejtezésre a 70-es, 80-as
évek berendezései, amelyek tele vannak
ilyen TTL áramkörökkel. Ezeket kár len¬
ne szemétbe dobni, hiszen nagy részük
újra hasznosítható, ha biztosak vagyunk
benne, hogy kiforrasztáskor nem sérültek
meg. E pár indok alapján kirajzolódik,
hogy jó lenne egy olyan, ,tábláz.at”, amely
tartalmazza sok TTL IC igazságtábláját és
kellene egy olyan hardver, ami biztosítja,
hogy a táblázat adata minden IC lábra el¬
jusson. Erre a feladatra számítógépet cél¬
szerű ha.sználni. A működés így már vilá¬
gossá válik. A szoftver tartalmazza min¬
bővítések
den egyes IC igazságtábláját, amit sorban
egymás után rákapcsol a katalógusban
megadott lábakra és a katalógusban jelzett
kimeneteken nézi a válaszfüggvényt.
Ahol ez a válaszfüggvény megegyezik a
táblázatéval az a kere.sett IC adata, ami
alapján kijelezhető a név és a paraméter.
Ezután vizsgáljuk meg részletesen, hogy
hogyan működik az az áramkör, ami erre
a téladatra készült.
Az IC teszter
hardverének működése
Már említettem, hogy a leggyakrab¬
ban alkalmazott áramkörök 14, 16, 18
vagy 20 lábúak. Ezeket megvizsgálva
kiderül, hogy az esetek nagy többségében
a tápfesz lábak azonos helyen vannak, de
néhány kivétel miatt szükséges más helyre
is tápot kapcsolni. így az áramkör földet
kapcsolhat a 7, 8, 9, 10, 16, 17 lábakra.
-1-5 V-ot kapcsolhat a 4, 5 és 20 lábakra.
A táppontok közül egy, a 10. láb fixen
földre köthető, a többi tápellátá.sa csak
szoftver útján, kapcsolófokozatokkal le¬
hetséges. Az 1. ábra mutatja a kapcsolási
rajzot. Az áramkör lényeges eleme a két
db 8255 típ. IC, amely egyenként három
8 bites portot tartalmaz. U1 esetében
mindhárom kimeneti üzemmódban dol¬
gozik. U2-nél a C-port 3., 7. bitjei kime¬
neti, az összes többi bemeneti üzemmód¬
ban van. A beállított üzemmód a működés
során sosem változik.
Kövessük végig a kimeneti portok lá¬
bait az 1. táblázat és a kapcsolási rajz sze-
A portfunkciók táblázata
/. láhlázat
IC, portvonalai
Tesztfoglalat
IC 2 portvonalai
Tcsztfoglalat
(lábs/ám)
kivezetc.ssel
kivezetései
A port
PAO (4) [R,]
1
PAO
1
PAI (3) [R.J
2
PAI
2
PA2 (2) 1R,|
3
PA2
3
PA3 (1) IRjJ
4
PA3
4
PA4 (40) |R,]
5
PA4
5
PA5 (39) 1R,1
6
PA5
6
PA6 (38) [R.d
7
PA6
7
PA7 (37) fR,]
8
PA7
8
B port
PBO (18) 1R.,J
20
PBO
20
PBI (19) lR,,j
19
PBl
19
PB2 (20) 1R.,J
18
PB2
18
PB3 (21) IR.,J
17
PB3
17
PB4 (22) (R„l
16
PB4
16
PB5 (23) (R„]
15
PB5
15
PB6 (24) lR,d
14
PB6
14
PB7 (25) [R.d
13
PB7
13
C port
PCO (14) [R,]
12
PCO
12
PCI (15) IR„J
11
PCI
11
PC2 (16) IR„J
9
PC2
9
PC3 (17) LED vezérlés
—
PC2 LED vez.
_
PC4 (13) -t- 5 V (T,)
4
PC4 + 5 V (T,)
20
PC5 (12) -1- 5 V (Td
5
PC5 0 V (ICj e, 0
7
PC 6 (II) 0 (IC 4 b)
17
PC 6 0 V (IC 4 e, 1)
8
PC7 (10) 0 (IC 4 a)
16
PC7 0 V (IC 5 a, b)
9
fX MÁRCIUS ” 22
HARDVER
fr MÁRCIUS ' 24
HARDVER
rint! Látszólag ez semmitmondó lépés,
felesleges időtöltés lenne, de most semmi
esetre se hagyjuk ki, mert a működés pon¬
tos megértésének ez alapvető feltétele.
A portok lábfunkciói a táblázat alap¬
ján egyértelműen meghatározhatók. A
portok vezérlőjelét az U3 illeszti a C64
buszjeleihez. U4 és U5 a táptészek és a
LED kapcsolását végzik. A OV-ot egy
vagy két 7406 nyitott kollektoros invcrter
biztosítja. A tápfcszültség kapcsolá¬
sát egy PNP tranzisztor és egy nyitott kol¬
lektoros invcrter végzi. RÍ—R19 a teszte¬
léshez szük.ségcs korlátozó ellenállások,
értékük azonos és 330 Í2—470 fi között le¬
het. Az ellenállá.sok szerepe nagyon fon¬
tos, ezek teszik lehetővé az IC tesztelését.
Ha ez bemenetre kerül nincs gond, egy¬
szerű felhúzó ellenállásként szerepel, a
logikai működést nem befolyásolja. A ki¬
menetnél más a helyzet.
Az ellenállás a port által küldött kom¬
bináció alapján ellenkező irányba húzza a
kimenetet, mint ahol a válasz függvény
szerint lenni kellene. A kimenet ezt a ter¬
helést képes a saját szintjére húzni. Ezt az
U2 érzékeli, a szoftver feldolgozza és ki¬
értékelve az eredményt képernyőre írja az
IC nevét.
A működésből következik, hogy az
áramkört hibás IC-k vagy passzív alkatré¬
szek nem veszélyezteti.
Szerelés, éiesztés
A teszter csak furatgalvanizált panel¬
re szabad megépíteni. Ez a HOBBI
ELEKTRONIKÁ-nál beszerezhető. Ezt a
kontúrvonal mentén vágjuk körbe és il¬
lesszük pontosan a C64 bővítő portjának
csatlakozójához. Csak azután kezdjen az
alkatrészek beforrasztásához, lia azt pon-
to.san bereszelte. A panelon lévő nagy fu¬
ratba egy M3-as beütő anya kerül, ami a
dobozoláshoz szükséges. Az alkatrész-
beültetést az ellenállásokkal kezdje, ültes¬
se le a panel szintjére. Helyszűke miatt
1/8 W-os méretet használjon. A két
8255-öt feltétlenül helyezze foglalatba,
U3, U5-nél ez nem fontos. A te.sztclő fog¬
lalat helyén 20 lábú gyorscsatalakozót kel 1
használni. Ezt wrapptüske segítségével
ültesse a panelbe, hogy dobozolás esetén
a többi IC .szintje lölé emelkedjen. A sze¬
reléskor pi.sztolypákát ne ha.sználjon és
ügyeljen a precíz munkára. A kész áram¬
kört átvilágítva vizsgálja meg, hogy
nincs-e rajta hiba. Ha kész, dugja rá a gép¬
re és olva.ssa be lemezről a .szoftvert, ami
öntLirbós, önindítós.
Elindulás után leteszteli az áramkört.
Ha nem működött újból lehet tesztelni
vagy a főmenübe lépni. A főmenüben vá¬
laszthatunk a programozott tesztelés, IC
lista és a teszter teszt között. Programo¬
zott tesztelés az IC típusának megállapítá¬
sát jelenti. Ez úgy történik, hogy sorban
vizsgálja az összes ismert típust és ame¬
lyiknél pontosan megfelelő vála.szt kap, az
a keresett IC. A típus megállapításakor a
képernyő tetején kiírja a tesztelt IC nevét
és egy rövid ismertetést. Ha nem ismerte
tél, akkor azt írja ki, hogy az IC ismeret¬
len vagy hibás. Ezután lehetőségünk van
új IC tesztelésre, IC próbára és főmenübe
lépni. Próbánál kiírja a jó, a ros.sz és az
összes tesztelés számát. Ilyenkor a megál¬
lapított típus tesztelését ismétli. Ebből a
SPACE gomb lenyomásával lehet kilépni.
A főmenü következő pontja az IC lis¬
ta. Ez. az összes olyan IC nevét és rövid le¬
írását tartalmazza, amit ismer a program.
A listában a kurzor gombokkal lehet mo¬
zogni. Kilépni a Return gombbal lehet.
Összesen 174 féle TTL IC-t ismer a prog¬
ram.
A programnál a gombok figyelése le
van lassítva, ezért türelmesen kell hasz¬
nálni. Az építéskor gondos munka mellett
és hibátlan alkatrészek esetében első be¬
kapcsolásra működőképes az áramkör.
Nagyon fontos!!!
Vigyázzon a 82.55 típusára, fontos,
hogy az órajel frekvencia 2 MHz felett le¬
gyen, egyébként a C64 teszter hibát jelez.
A sebesség az. Ul-nél (kimeneti
PORT) lényeges. Az U2 helyén lassúbb
változat is megtélel. A sebességet a gyártó
cégek nem egyformán jelzik, azt kataló¬
gus alapján azonosítsa.
Az egységcsomagban megjelöltem,
hogy melyik az, U1 és melyik az U2 helyén
használható 8255, ha a két IC nem azonos
sebességű.
FIGYELEM!!!
Az IC tesztért építeni szándékozók¬
nak segít a szerző HOBBI ELEKTRONI¬
KA üzletének szolgáltatása. Az üzletben
működő mintadarabok megtekintése után
vásárolhat panelt, IC-t, egységcsomagot,
készterméket. Az árajánlat megtalálható a
2. oldalon közölt hirdetésben. Cím: Bp.
VII. Dózsa György ti. 16. T: 122-8892.
Alapbeállítások
röviden
SYS500(X), K, H, C, S
kiadása után a gépen köny-
nyebben beállíthatjuk az
alapokat. A K-nál a keret-
színét kell megadni, a H-
nál a háttérszínt kell meg¬
adni, a C-nél a cursor szí¬
nét kell megadni, az S-nél a
sprite bekapcsolást lehet
megadni.
O
O
o
o
o
o
o
o
1 00
110
1:20
1:30
140
150
160
170
180
190
200
:210
220
2:30
240
250
260
270
2S0
2:90
■300
REH ***********#**:♦**»*#*#:****#*#
RÉM *RLFlPEiEflLL ITRSOK ROVI DEH-i;;64#
RÉM *.—---- *
RÉM -^RKT ^ 3VS50000KERET.. HRTTER. .. *
RÉM *CURS. SZIH.SPR. EEKflPCSOLRS*
PEH +; .. *
RÉM * készítette^ BRUCE MRESTRO *
RÉM ##•*:♦***♦*******:**:**:**:***:♦#**:*
FÓR 1= 50000
^ MíERDR^POKEI
ne:>ít
IF S<> 5720
DfiTR 032,. 115..
ORTR 158,183..
DRTR 0:32.. 115..
DRTFl 180,000..
DRTR 000,032,
DRTFl 134,002,
DRTR 1S3,180,
DFlTfi 174,167,
TO 50051
,R ^ S=S+R
THEH PRIHT"HIBR‘'
000,234,234,234,032
180,000,142,032,208
000,234,032,158,183
1.42,033, :208,032, 115
158,183,180,000,142
032,115,000,032,158
000,142,021,208,076
153
O
O
O
o
o
o
o
25
MÁRCIUS
0 ^
Pattogó golyók
Olvastam pályázati felhívásukat és
szeretnék benevezni a mellékelt prog¬
rammal. Remélem megfelel a pályázati
feltételeknek. A feldolgozott játék ere¬
deti nevét nem ismerem, ezért adtam
neki a ,,Pattogó golyók” fantázianevet.
A játék látszólag a dámajátékra hason¬
lít, azonban itt a játék célja, hogy a
lehető legkevesebb lépésből saját bá¬
buinkat átlósan mozgatva, a kiindulási
mezőkkel ellentétes oldal utolsó 2 sorá¬
ba juttassuk. A bábukat kizárólag a sár¬
ga üres mezőkre lehet mozgatni átlós
irányban úgy, hogy mind a saját, mind
az ellenfél bábuit átugorjuk. Az győz,
aki hamarabb eléri összes bábujával az
utolsó 2 sort. Ha valamelyik játékos
nem tud lépni, akkor kimarad, ha egyik
játékos sem, akkor döntetlen a parti.
Csak előre lehet haladni a sakktáblasze¬
rű játéktéren, amely 8x8 mezőből áll.
A programban a gép ellen játszhatunk
2fokozatban. A fokozatok között,,csu¬
pán" annyi a különbség, hogy a máso¬
dik fokozatban nem fordulhat elő, hogy
a gép ne tudja befejezni a játszmát. A
gép az 1. fokozatban 2 stratégiát valósit
meg, amelyeknek fontossági sorrend¬
jük van. A legfontosabb szabály a gép
számára: azzal a bábuval lépjen, ame¬
lyikkel a legtöbb lépést lehet megtenni,
ha több ilyen lépés van, akkor a 2. sza¬
bály lép érvénytae: az a figura lép, ame¬
lyik a haladási irányhoz viszonyítva a
leghátsó pozícióban van. Ha ez is meg
egyezik, akkora RND függvény dönti el
a lépést. Mivel előfordulhat olyan lépés-
sorozat, amelyről nem lehet a játszmát
befejezni, szükséges volt egy új sza¬
bályt bevezetni, amely a ,,cél mező el¬
érési szabály” nevet viseli. Ez a szabály
hosszabb számolást igényel, ezért ke¬
rült a 2. fokozatba. Vagyis a lépés csak
akkor kivitelezhető, ha ezzel a lépéssel
be lehet fejezni a partit. Ez a szabály te¬
hát a legmagasabb rendű, de a 2. foko¬
zatban is csak a 9. lépéstől lép érvény¬
be. Ez azért van, mivel 8 lépésből még
nem lehet olyan szituációt előidézni,
amely előnytelen pozícióhoz vezet. Erre
és a szabállyal kapcsolatos egyéb meg
állapításokra ,,próbálgatásokkal” jöt
tem rá.
Ezután pedig a programleírás kö¬
vetkezik. A játékteret T%(9,9) tömb¬
ben ábrázoltam, ahol az első index a
tábla X koordinátája, a 2. index az Y. Az
origó a bal alsó sarok. M ind a gép, mind
a játékos figuráinak aktuális pozíció¬
ját külön tömbben tároltam. F%(16,2)
tömbben azoknak a figuráknak a pozí¬
ciói vannak tárolva, amelyek egy
bizonyos lépéshosszal rendelkeznek,
ahol F%(X, Óla lépés iránya. Ezek a de¬
finíciók a program 1000—1050 soraiban
találhatók. Ezután egy iracionális rész
O
O
O
O
O
O
O
O
o
o
10 GrJSÜBS0«0 • GOTO500
1 m GETOt- ■■ í FÖ!r-= '• " THEH100
110 PF:IHT"SIWW"THB<.24;'"-M FW.TI? I = 1GEH'
120 GETt;!¥= IF Qí = " “THEI'ri20
130 I FGW-'O ■■ 1" THEWSVS6473Ö • REtl BVE BVE
140 GOTO1100
300 PRIHT"riW»r;.'-F;! H ..r-vT ■l'>.S^.FrB■^L.VT? 1 = IGEH"
310 GETQ4’ IFi;!Í = “"THEH310
320 IFQ:í-C>'‘I"THEH1000
330 PP.I.t'<T"ri« J-^T H:;SZfiB-jLV"
340 PP.I.HT"»IF1 .J-^T ■H.OS rt PIROS GOLVUÍRT VEZETI.
350 PRIHT"fi .J-, !-!:; C 'l-JH n-lZ •'-SSZES GOLVL.T HZ UTOL-
360 PR INT "SE K. M' SORBH .JtJTTBTt'tl, H LEGKEVESEBB L •-
370 PRINT"P''SB'-L.H GOLVUÍRT CSRK FERÓ'+( LEHET fi
380 PRI.MT"LEGKsZELEBB£ S-.RGR HEZ-'-RE .JtJTTRTHI.
31^0 PRII'(T"fi GOLVLT fi CRSR-RRL LEHET KIV-,LfiSZTfiHI.
400 PRirTr"R L ■'F'''S IR-.HV-.T fi SPRCE-SZEL LEHET V-.L-
410 PRV.HT" TŰZTRTHI. .HR K'-SZttH VRGVtJHK HKKOR RETtJRt'(
412 PR INT" CSRK. EL'-RE LEHE'i HRLRÜNl/Hfi VfiLfiMELVIK
414 PR!:NT"F ■!. HEIfl TUD L ■'F’Hl RtíKOR fi N-.SIK KWET-
416 t=-RIHT"KEZlK.HR EGVIK F 'E. SEM TrjO L''PHI RKKOR"
418 PR!:Nt‘“0'.NTETI....EN. SOK. SZERENCS''T ! "
420 GETG'4^ IF 04-=" "THEN420
430 GOTO1800
500 PRINT'L'Í««ÍRIA8«WW"1RB<;16,' "PfiTTOGLíttJ'JRIfJlllim«ri30LVUc.
510 PRINT"i«Kr«íM«í»í -SZI I ETTE • :WMiÍi»:ifiZSL .J-sNOSJ«WW 1992
520 X1 =2 ■ V1 ■- í' ^ X0=Ö • V0= 1 ‘ GO.SUBS000
530 GETQ4 ^ 160.4=" “ r HEH530
PÁLYÁZAT
van a programban, amely beállítja az
alapértékeket. A T% tömbben 0 a til¬
tott mezőt, 1 a játékos bábuit, 2 a gép
bábuit és3 az üres mezőket szimbolizál¬
ja. A gép lépése a 2000 sortól van elhe¬
lyezve. Mivel 8 bábu van, ezért egy cik¬
lus indul 1-től 8-ig, és egy bábu elméle¬
tileg 2 irányban tud lépni, ezért a ciklus
magja gyakorlatilag 16-szor fut le. Az
első fázisban a ciklus meghívja a lépés¬
generátort, melynek feladata 1. foko¬
zatban az aktuális lépés hosszának
meghatározása F%(0, 0)-ban. 2. foko¬
zatban ezenkívül eldönti a gép, hogy a
lépéssel befejezhető-e a parti, ha nem,
lépésszámnak 0-át ad át. A 2020 —2030
sorban a program mindig a leghosz-
szabb lépést jegyzi meg. Ha ezzel meg¬
egyező hosszúságú lépés is létezik, ak¬
kor ezt is megjegyzi. Tehát ez a rész va¬
lósítja meg az 1. szabályt. A 2. szabályt,
vagyis a hátrébb lévő figurákat a prog¬
ram 2050—2100 sora válogatja ki, majd
ha még mindig több lépés marad, a
2110 sor dönt. Ezután megtörténik a lé¬
pés mind a képernyőn, mind a tömbök¬
ben, majd a 2180 sorban megvizsgálja
a gép, hogy nem nyerte-e meg utolsó
lépésével a partit; ha nem, akkor átadja
a vezérlést a játékos lépésével foglalko¬
zó résznek 1500 sortól. Szintén az
1500-as sorra lép a program, ha a maxi¬
mális lépésszám 0, vagyis nincs szabá¬
lyos lépés, de ebben az esetben a dön¬
tetlenjelző magas lesz. A lépésgene¬
rátor úgy működik, hogy a program
,,képzeletben” addig lépteti a figurát,
amíg üres mezőre nem jut vagy O-ra, de
ez azt jelenti, hogy erre már nem lép¬
het. 9600-as sortól van a 2. fokozat fő¬
szabálya, az ,,elérési szabály”. Ez nem
számtömbbel dolgozik, hanem a tábla
ba másolódik soronként. Ezzel a fo-
•^^"gással gyorsítottam a programot, mivel
astringműveletek gyorsabbak. A lelke
9800-tól kezdődő szubrutin, amely
kiszámítja, hány figura éri el az aktuá¬
lis álmezőt. Abból a megfontolásból,
hogy az álmezőt csak azok a figurák
érik el, amelyek a célmezőtől fölfelé
benne vannak abban a háromszögalak¬
ban, amelynek csúcsa a célmező. Ez¬
után a program összehasonlítja az
egyes célmezőket minimálisan elérő
bábuk számával. Ha ennél kevesebb éri
el a célmezőt, nem lehet a játszmát be¬
fejezni. Ezeket a számokat szintén pró¬
bálgatással állapítottam meg. Remé¬
lem, ez a programleírás és a program¬
ban lévő kommentek elegendőek a
program megértéséhez.
Tisztelettel:
O
O
O
O
O
Gazsó János
Qí '/lÁRCtUS
PÁLYÁZAT
o
o
o
Q
O
O
O
o
o
o
o
o
o
o
o
o
o
o
o
o
c
o
o
o
o
o
o
o
Í540 6OTO30Ö
1Ö00 RÉM T OMBDEFI C1 OK.
101.0 or.r'tT'i(:s‘,9>,er';<:s,2:> oíEH thblfi es gép higüp.pii
10£0 OlMFXCie.ai'=REt'l fttCtUfiLIS FÍGURfi
1030 DitiE:4<;a;< ■ P.EH gelmezok'.é’i elero figurbk szhmb
1840 T13 = " 8 0 0 8'‘-T2*="0 8 8 8 " n Ot-TZí+Tlí+TSí+T 1Í+T24+T1Í+T2Í--+Tlí ^ REH TRBLfi
10S0 Dttl.lMCS/2;- ■REfl .J'RTEKOS FIGÜRRÍ
1100 R.EM I RBLFl K. l RR.) ZOLRS
1110 PR 1 RT •' LTl" ; ■■ (■■ ÜR 1 = 1 T04 > PR 1R V " “ ; P14-; > REXT1 ' PR 1 RT
1128 FOR.I = lT04;PRlH'l.; P2Í-1 ' HEX'I I -PRIRT ■■ FÜR 1 = 1X04 = PR. IRT “ " ;P3í; -REXTI •PRINT
1130 F0R1 = 1T04 ^ PRIRTPI-X; ;■ “ i ■■ REXTI ^ PPIHT
1140 F0RÍ, = 1 r04'PRÍ.RTP2S-; “ "1 ' REX1 1 > PRIRT ‘ F0R.l = ir04 ’ F'RIRTPSÍ-j " "REXTIsPRIRT
1150 p4dr-=‘' n r rn” rrv rxr ■ P5í="rn“ rrr n~r iTr
1 lfc0 PRlRT-rri" , ^ F0R.I=i r02 ■ F0R..J = 1T03 PRlRTP4t- '■ REXT.J F0R..J=1T03 > PRIRTPSÍ-' REXT.J, I = PR.l
RT " ö" .
1165 F0RI = 1T04'PR.1RÍ " ";P1-X, ‘REXTI‘PRIRT
1168 FÓR I = 1T04 ■ PR I RT " " ; F'ZíT- 1 ‘ REXT I ■ PR IRT ‘ FÜR I = 1T04 PR. I RT " " 1 P3Í i = REXT I ‘ PR IRT
11<’0 FORI = lT04‘PR.lRTP1.4IO " "1 ‘REXTI -PRIRT
1180 FOR.I = lT04 ‘PRIRTP24-, “ " ; ‘REXT I -PRIRV ■ FÓR I = 1T04 ‘ PR.l RTF-Oí, " '' ; ‘REXTI ‘PRIRT
1200 RÉM IRICIRLÍZHEHS
1210 FOR.I=0TOS« ‘ FOR..I=0'VOy ‘ TXt I / .; >==0 ‘ REXT.J . I
1220 F0RI = lT07S rEP2 ‘F0R.J=3T05STEP2‘ TX<I ,.J>=3‘ TXt; 1 +1, .J-+1 >=3 ‘ REXT-JO I -03=0
1230 FÓRl = 1T0TSTEP2‘TX Cl,1> = 1’TX C1 +1,2 > = 1‘TX CI,Z > =2‘TX <I -H ,8 > =2'REXT
1240 RÉM 1=1. .JRTEt:.O8;2=GEP;3=URES,0=REM LEHET lOE LEPRI
1250 FORl = lT07STEP2 ‘BXC 1,2:‘=7 ‘BXCl , 1 > = I ‘ BX< 1+1,2>=8 ‘ BXC 1 + 1 , 1> = I+1 ‘REXT
1268 RÉM BX<X,X:'=OEP BRBUIRRR K.OORD. , BXCX, 1 >=X-KOOR.O. ; BX<.X, 2>=Y-K00RD.
127’0 F0RI = 1T07STEP2 •• .JX<; l ,2> = 1 ‘ .JXI l , 1> = I ‘ .JX< 1+1,2>=2 ‘-J'XC 1 +1, 1> = I + 1 ‘REXT
1280 R.EM .JX<:X,X>=.JRTEK.OS BfiBUXRHK. KOORD. ..JXCX, l >=X~KOOR.D. ;-JXÍX,2> =V-K00R.D.
1400 R.EM Rí K.EZO?
1405 PRIHT"PI»WW" FVRB<:25> "H-sRVRS F0K02RT?" ‘ PR.IRT" W" ; TRBCZZJ''1. VRGV Z.M"
1406 GETQÍ- ‘ IFVHL>:;0.S--;<-C10R.VRL<.Qí >>2THER1406
1407’ fo=vrl<;q4;‘
1410 PR1RTTRB<;25::''‘IM'..I KEZD"? 0=0'f " ‘ PRIRTTRB<27> "
1415 6ETQ4‘ IFO.Í=" " THERl415
1417’ PR.IHT"i5ttl«".;TRB<25>'‘
1420 lFO$="0"THEM2000
1430 GOTO1508
1580 R.EM .JRTEK08 LEPESERER BEVITELE
1505 OOSUB3000‘IFI=21THER1510
1506 IF01 = 1 THERPR.IR I "«■.«««■•; Í RB(;25 ;' ••Ü'-RTETLER í " ‘ 00X0108
1507’ PR.IRT'‘«B"TRB‘:'.25 >“REM L 'PHET ! ■' ‘00X02808
1510 008064088
1580 TXÍXS / V0;‘=3 ■■ TZCXl. V1 > = 1
1585 .JX<;i-16, 1>=X1 -.JXC I-16,2;'=V1 ‘ GO8UB8000 ‘ R.EM LEF’ES
1588 F0R.1 = 1107’ST£P2 IF TX< I, (’ TLMORT XC I + l.. eXL’l THEHI = 10
1600 REXTI
1610 IFI=12VHER2000
1628 RÉM .JRTEKOS RVERT
1638 PR.IRT"«•»»«" TRB<'.25;>“.J-.T TTOS RVERT! " ‘G0T0188
2000 D1=0
2010 F=0 ‘ LS=LS+1 ‘ FX<:8,1 >=8 ■ IR.=-1 •• FORR I = 1TÜ8
2015 IR=8~IR‘008068588‘RÉM IR=LEPES IRRRVR
2028 IFFX<;0,0>>FX<:8, 1>THEH2025
2023 00X020:30
20725 F'XCO/ 1 >=FX<'.8,0J ‘FXCl, 1;'=BX<;FI. IJ ‘ FXt 1,2>=BX<;FI , 2 J ‘F = l ‘ FXí'. 1,8) = ÍR ‘ 00X028:35
20:30 IFFX<0,0>‘=‘‘F"X<'.0, 1 >THERF=F + 1 ‘ FXCF, 1 /=BX<;FT , 1 > ‘ FXCF , 2>=BXí:F 1 / 2) ‘ FXCF , 0> = IR.
2035 1FIR=1THER2015
2040 MEXTF1‘R.EM F XCX, X ;‘=LEOTOBBET LEPŐ BRBU; F =BRBOK. SZRMR. FXÍB, 1 J=LEPESH0SS2
2045 IFFX< 8/ 1 >=0TF-tEHOl = l ‘ 00X01500
2050 R7’=l ‘ 1FF=1THEH2128
7c'.060 F!7’=8 ‘ F'OR 1 = 1 TOP' ‘ IF FTXT I / 2 J7‘F'X<'. 1 / 2> THERR7’ = 1 ‘ 00X02888
2065 iFF'x; 1.2 ';'=f:';<; i /2;‘TF-!ERR7=fl(’+i ‘ OOTO 2080
207’0 OO'IOZIOO
;2880 FXlRV . 2,''=FX':. I. Z J = F XCHÍ’, 0;‘=FX<: 1 , \-i 'f
20B0 FXCR?, 1 ;‘=FX':. l / 1 >
2100 REXT1‘R.E.M R LE.GHHT80 F lOüRFl FX<. 1,X>
2110 IFR7'>1TFIERR7'=‘IM ! <.R(''*R.RÜ<.0>+1 >
2120 X0=FX':.H7', 1> ‘ V0=FX'::Rí’. 2;- ‘ 1R=FX<;R7’, 0> •• X1=X0+1R.»FX<0 / 1> ‘V1=V0-FX<0/ 1>
2140 T’i < X0. V0 > =3 ‘ T X <. X l - V1 ;> =2 ‘ 6ÜSUBy000 ■ RÉM LÉPÉS
2158 FORl=lT08
2160 IFBXC.l , 1)=FX<.R7’/ 1 JRRÜBX':. 1.. 2;‘=FX<.R7’, 2,'THERBX<; 1, 1>=X1 =BX<;i,2>=Vl ‘ 1=8
217’0 REXT‘RÉM BHBOMUtRTO FtC.TORLli’RLRS
2188 FÓR 1 = 1 V0<’tí TEP2‘ If TXl 1, 1 > ‘;;j-'20R.TX<; 1 + 1.. 2>-!:>2THERI = 10
2198 REXTl‘ÍFI=12THER1580
2288 RÉM GÉP ITt'ERT
O
O
O
O
O
O
O
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
27
március
PÁLYÁZAT
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
n
o
o
o
o
o
o
o
o
o
o
2210 PR 1HT P*TflB C 25 > " ö '■P HVERT ! “ = GOTO 100
3000 I.R----1 •FORl = lT0B-REn VHH-E B JflTER.OSHHK LEPESE?
3010 Í.R=0-IR
3020 bi=.j:-;<; i , i > = r 2 =.j:';< i, 2 > ^« 3 =rti ■ fl 4 =B 2
3030 B 3 =B 3 +IP.- 04 = 04+1 = IFTMt.BB, 04 > = lORTr';<. 03 , 04 >= 2 THEH 3030
3040 lFT-;<,03 / 04 ;> =3THEH I =20 ’ 00X03060
3050 IFIR=1THEH3010
3060 HEXTI4ÍETURH
4000 X0=1:V0=1:1R=1
4010 POK.E53252/24»X0 ■ POKE53253- 50+<.8-V0;'*24 ^ PŰRE501?0, 13+IR
4020 P 0 K.E 5326 S, 4
40:30 OETQ*^ 1F0»=“ " 1 Ht.H40:.30
4040 IFQS'=“ ‘'THEHIR=0-1R 43OTO4010
4050 IH Qí'= " »«■• rHENX0=:><0+1
4060 IFQÍ="H"THEHX0=X0-1
4070 I FÖÍ-= " '."l" rHEHY0=V0+1
40 S 0 1 F 0 - 4 = T HEH Y 0 =Y 0 - 1
4082 ÍF'X 8 ;> 8 THEH:>í 0=8
4084 IF X0-!: 1 THEHX0= 1
4086 IFV0-:. 1 THEHV0=1
4088 IFY 0 > 8 THEHV 0=8
4090 I FG‘Í-=C,HP.?- < 13 ;> THEH4120
4100 GOTO 4010
4120 F0R1 = 1T08 '■ IF-IXG 1, 1 ;‘=X00Hü.j:-;<; 1,2>=V0THEHI = 15+1
41:30 NEXX I ■ IF 1=S'THEH4010
4140 X1=X0‘V1=V0
4150 X1 =X 1 + 1R ■ X' 1 = V1 +1 ^ I FTX C X1, V1 > = 1 ŐRT:-; C X1, V1 > =2THEH4150
4160 ift:-í<;xi ,vi>=0 theh4010
4170 RE f'URH
5000 RÉM GR.0F1K.US ELOtf.ESZI VÉS
5010 POKE56576, PEEKC56576 :'0HO252OR0 ^ REH C000-FFF'F
5020 POtí;E53272, PEEH.>:;53272>0HO240OR2 RÉM H.0R0H.X . M. 0800
50:30 POt!.E53272,PEEtc.<.53272;‘0HU15QR0 = REM KEPERHVO M. 0000
5040 POKE648, 192 : PRIHTCHRsf-CS> ; "71"
5050 RÉM ^í0RRt;.TER^;:E^32LET BERLL.
5068 POKE56334 , PEEKC56:334;-RHD254 '• POKEl , PEEKC 1 >0HD251
5070 FOR1=0TO64*8■POKE51200+I,PEt:KC53248+I> ^ HEXT
5880
5090
5100
5110
5115
5120
51:30
5140
5150
5168
5170
5180
5190
5200
5210
5220
5230
5240
5250
5260
5270
5280
5290
5:300
5303
5306
POK.E 1, PEEIC C 1 > OR4 ^ POH.E56:3:34, PEEK C 56:334 > OR1
FÓR 1=0X08* 16-1 -REHÜ-J •■POKE51712+1 ,.I ■ NEXX -RÉM KRRRKTEREK
P OR 1=0X 04*64-1 ’ R£0ü..f: POKE50176+ 1, -J •• HEXT ‘ RÉM SPRIX EOtC
POKE53280,15^ P0Ke53281, 15 ’ PR IH í “ a" ; ' P0ICE53282,7 = POF.E5:328:3,8
POKE53270,PEEKC5:3270>OR16^POKE53286,15^P0KE53288,0:P0KE53276,1=REM SZÍNEK
O0T0 85,85,85,85,87,95,95,95
O0T0 85,85,85,255,255,255,243,192
DRTR 85,85,85,85,213,245,245,243
DRT0 127,127,124,124,127,127,127,127
O0TR 192,3,63,255,255,255,255,255
DRTR 253,253,25:3, 253,253,253, 253, 253
O0TR 95,95,95,87,85,85,85,85
ORX'0 255,255,255, 255,255, 86,85,85
O0X 0 245,249,258,234,178,168,85,85
ORl’R 50,122,200,252, 204,204,284,8
DRX'R 250, 194, 192,240,192, 192,248,0
O0X“0 8, 106,98, 102, 102, 102,60,0
00 X0 2, 122,200,204,204,204,120,0
00X0 102,0,60,102,102,102,60,0
O0T0 102,0,102,102,102,102,60,0
□0T0 255,255,255,255,255,255,255,255
00X0 0,0,0,0,0,0,0,0,0,0,170,0,2,170,128,10,170,160,10,174,168,10,191,168
O0T0 42, 191,168,42,254, 168,4:3,234, 168,43, 178, 168,42, 1'70, 168,42, 178, 168
O0XF(42,170,168,42,170,168,18,178,160,10,178,160,10,170,168,2,170,128,8,178
O0TR0,0,255,0,0,255,8,8,248,8,0,248,8,8,220,8,8,286,8,8,199,8,0,195,128,8,1
ORT0192,0,0,192,0
53 10 DRT00,0,0,0,8,0,8,0,0,0,0 , 0,0 , 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 , 0,0 , 0,0
5320 U0X'00,0,0,0,0,0,0,15, 240,8,6:3,252,8,127,254,8,63,252,8,15,248,8,0,8,0,0,8,0
53:30 DRX 00,0,0,0,8,0,8,0,0,8,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
5:370 O0TR 0,0,0,255,0,8,255,0,8,15,8,0,31,0,0,59,0,8,115,0,8,227,8,1,195,8,.3,128
5:375 DRTR 8,3,8
5388 ŐRT 00,0,0,0,0,0,0,0,8,0,0,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
5500 POKE50168, 16 • POKE50169, 18 ■ F'OKE53289,8 ^ RÉM SPRITE MUT0TOK.
5510 Plí'="-^ 1 " ■ P2a-="^~" : p:34-="-l I" : REX URH
6000 P0KE54296, 15 : P0KE54277, 113 ^ POKE542-7S, 124 ■ P0KE5427:3, 13 ■ P0KE54272, 172
6010 P0KE54276,129^RETURFP RÉM HRHGHRTRS
60S;0 POKE54276, 128:R.ET0R.H
60:30 FM:iKE54296, 15 = POKE54277, 113 = P0KE54278, 124 ’ F'OKE542'73,8 ■ P0KE54272, 172
O
O
O
O
O
O
O
O
O
O
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
MÁRCIUS
28
PÁLYÁZAT
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
6640 POKE5427'6, 125:RETURH = REt'1 HfiK6HfiTRS
8000 V0=S‘--V0 ; V1='3~V1-RÉM LÉPÉS JrtTEKOS
8010 P0KE!5324€f, X0 í* 24 ■ P'0KE53243,50+ (. V0-1 > *24 ■ POKE53287,2 ■ RÉM SPRI TE tf.OORÜ
8020 POKe53250/X0*24+10:POKe.53251,65+<70-1>*24
3030 P0KE53263.3‘PRIHT“íííT!" ; ' lFV0<>lTHEHFORI = nOÍ <.V0- 1 >*3> ‘PRIHT = HEXT
8035 PR l HT TftB C C. X0-1 > * 3 > " T J IT ’RBilBin" TT "
8040 FORI=1TOV0-Y1^eOSUB6000
8050 FÓRJ = i T024 ^ P0KE53248, PEEK. C 53248 >+< X1 -X0 > /FiBS< X1 --X0 >
8060 POtí:E53249, PEEK. C 53249 > -1
8070 POKE53250, PEEt:. C 53250 > + C X1 -XO > /FtBS C X l - X0 >
8080 lFJ<7rHEi'tSl 10
8090 IF.J> 18THEHP0KE53251, PEEK < 53251 >-1
8100 POKE53251, PEEK. C 53251 > -1
8110 HEXT.l GOSUej6020 ■ HEXTI
8115 PRIHT“?«S“ ; : 1FY1-C>1THEHF0RI = 1T0<;<.'.V1-1 >*3> ■ PRÍHT ' HEXT
8120 PRIHTTftB<;<:Xl-l>*3>":T' ;P 1«0 " í*«m" ; P2Í-; ;P34- íPOKE53269,0^RETURN
9000 Y0=9-V0'-Y1-9-VI-P^EM LÉPÉS OEP
9010 P0K.E53248 / X0*24 ' PŰK.ES3249,50+ CV0-- 1 >*24 ‘ P0K;E53287 / 6 •• RÉM SPRITE KOORO
9020 POKE53250 / X0*24+10 ■ P0K,E53251 / 65+ C Y0-1 >*24
9030 P0KE53269/3-PRIHT‘'iPín" ; ■ IFV0<> 1 THEHFORI = lTO<<Y0“ 1 >*3> ’PRIHT’HEXT
9035 PR IHT TFlB < C X0-1 > *3 > “'. TT f W«««r T T MBIir TV"
9040 FÓR I. = 1TOS' 1 - Y0 ^ 0080660.30
9050 F 0R.J=1T024 ■■ P0K-.E53248 / PEEK. < 53248 > + X1-X0 > /HBS C X1 -X0 >
9060 P0KE53249,PEEK C 53249 H1
9070 POK.E53250. PEEK. (. 53250 > + C X1 -X0 > XfiBS C X1 - X0 >
9080 I F.j-c:.7THE09110
9090 tF.Í>18THEHPOKE53251. PEEK.<53251 >+l
910O P0K;E5325 1 , PEEK C 53251 > +1
9110 MEXT..! ! eOSUB6020 ' NEXT1
9115 PRIHT"«;3" ' FORI = l 10<. Yl-2 ;‘*3 ' PRIHT = HEXT ’ PR INT "W" ;
9120 PRlHTTRBt;<:Xl-l ;‘*3;>Pl-‘r.; , P2í.; " Wl«m" ; P3ir. ■ P0KE53269 < 0 ■ Y1=9-Y1 ' RETURH
9500 RÉM LEPESOEMERhTOR
9510 FH=BX<'.Flí 1> ■fi2=Br'í<;Fl ,2> ■■Fl3=Fll = FI4=H2 = F XOJ, 0> =0 ^ RÉM FXCOy 0>=LEPESSZRM
955;0 fl3=fl3+ I.R : R4--R4-1 > f.F TXCRS/ H4> = 10RT:-;<;R3, B4>=2THEI'tFr-i<:0, O>=Fr<;<;0,0>+1 : GOTO9520
95:30 ift:-:<;r:3 , r4> =0themf:-;<. 0,0 > =0 ■ returm
9540 I. FTXC R.3. R4 > =3THEHFX C.0,0 > ^FX (. 0,0 > +1
9550 IF F0<20RLS<8TFIENRETURM
9555 IP FX<:0,0>í:FX<.0, 1 >themf-.eturn
9560 REM2.F0K02RT
SSS'O BX <; F1, 1 > =R3 ■ BX í F1,2 > =R4
9600 TT.=T:3Í.0-0RI = 1T08^X=BX<:1/ 1> ^Y=ex<1.2> =K.= <:Y-1>*8+X
9610 TÍ-.=LEFT*'.<;TÍ3K;-1>+CHR.Í.<;48+1>+RIGHTÍ<TÍ/64-K> =H£XTI :REM VIZSGRLRHOO FILLRS»TÍ
o
o
o
o
o
o
o
o
o
o
ü
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
9620
9630
9640
9650
9660
9670
9680
9690
9700
9710
9720
9790
9800
9810
9820
9830
9840
9850
9860
9870
9880
9890
9900
9950
9960
91970
RERÜY,
BX<;F 1. 1 > =R 1 ■■ BXCF1,2> =R2
Fl6=8'GOSUB9800.IFEX<8><1THEH9790íREM R 8. CELMEZOT MÉM ERI EL FIGURfl!
86=1 1 003089800 ^ IFEXC. 1 ><:2THEM9790
Fl6=7 ^ GOSOB9880 ■■ IF EX'Í 7 X3THEN9790
86=4 tGOSOB9800 =IFEXC4><1THEH9790
86=3 1 OOSOB9800 ^ R5=8SCCM10*<. TT-, 1, 1 > > = R6=RSC'.'.MIOíCrS., :3. l > >
IF <. R5<>48HMOR6 !;> 48 > RMDEX < 3 > -CaTHEHSZ 90
l F <: F‘i5<>48RMüR6=48 > 8MÜEX í 3 > <31HEN9790
IF <;85=488HDR6< > 48 > RMDEX C 3 > <3THEM9790
IF <. R5=48RMüR6=48 > RMDEX 3 > <4THEM9790
REFORM
fx<0,0>=0^retorn.kem mem myero lépés!
EX<.fl6>=0iX=86iY=l+8BS<;R6/2=IMT<;86/2;‘> • PIEM 86 CELMEZO K'.OOROIMRTb'i
FORI=0TO3’X1=Xi Y1=Y+1*2'.GŰSOB9950'MEXTI'RÉM 8 CELMEZO MÖGÖTTI MEZOK. VIZSG.
IFX=1THEM9880
8 CELMEZOrOL B8LR8 LEVŐ MEZOK.
FORI=lTOX-líREM
IF Y+ I>8THt:M9S70
FOR.J=1 VOIMT< C. <;9-<: Y+ !>> + !>/2> ’ RÉM X
X1=X-1 Yl=.í*2+ 1-1 GOSOB9950 > MEXI.J
MEXTI ^ lFX=8"t'HEMRErUR.M
FÓR I = 1T08-X 1 RfclM CtO-MEZOTOL .JOBBRR
F OR..f = 1TOI NT < <; C. 9- <. Y+ 1 > > +1 > /2 >
X1 = I+X 1 Y1=.J*2+ I-l 1 GOSOB9950 ■ MEXT.J ,
K.= <.Y1-1 >*8+Xl 1 85=RSC«:MID»<T5F,K./ 1 > >
í FR5:::>0THEMEX C 86 > =EX C R6 > +1
RETORM
OSZLOPB8M LEVŐ MEZOK.
I1RETORM
-48
O
O
O
o
o
o
o
o
29 -
MÁRCIUS
PÁLYÁZAT
Beszorító^ (DO-GUTI)
A játék szabályai
A Beszorítós egy kétszemélyes,
táblás játék. A játék eredeti neve a hin¬
duk ősi nyelvén egyszerűen párjátékot
jelent. Lényege az ellenfél mozgásának
megakadályozása. Mindkét játékosnak
2 bábuja van.
A tábla:
— Az egyik játékos a bábuit a
négyzet két alsó sarkába, a másik a két
felső, vonallal nem összekötött sarkába
helyezi. (Az aszimmetria ellenére a kiin¬
duló helyzet nem kedvez egyik játékos¬
nak sem.)
- A bábuk a vonalak mentén tol-
hatók át az egyik szomszédos mezőre.
Bármelyik bábuval lehet kezdeni a
játszmát. Az a játékos győz, aki ellenfe¬
lét beszorítja, vagyis megakadályozza a
további lépéseit.
— Megjegyezzük, hogy két, egy¬
mással szimmetrikus helyzet létezik,
amelyben bábuinkkal az ellenfél két bá¬
buját beszoríthatjuk.
— A győzelem tévesztésen alapul,
azaz ha két jó játékos elég figyelmesen
játszik, a végtelenségig tologathatják a
bábukat (ez az eset ebben a program¬
ban akkor fordulhat elő, ha a nehézségi
fokozat kettes (azaz nehéz, és a játékos
a segítség opció szerint teszi meg lé¬
péseit).
A program kezelése
A program betöltése lemezről:
LOAD „BESZORÍTÓS'',8. Indítása:
RUN paranccsal.
Először a nehézségi fokozatot (1 —
könnyű, 2 — nehéz) kell megadni, majd
a kezdés jogát (1 — játékos, 2 — gép).
Ezután láthatóvá válik a tábla a bábuk¬
kal, a menürész és egy nyíl, amit a 2.
portba dugott joystickkai mozgat¬
hatunk.
A lépés következőképpen történik:
Vigyük a nyilat valamelyik saját bá¬
bunkra (□ alakú), és nyomjuk meg a
tűzgombot. Erre a bábu arra a helyre
kerül, ahol eddig az üres mező volt.
Ezután automatikusan a gép lép.
majd ismét mozgathatjuk a nyilat egé¬
szen addig, amíg valamelyik fél meg
nem nyeri a játékot. Ekkora program ki¬
írja, hogy nyertünk vagy vesztettünk-e
és leáll. LJjabb játszmához egyszerűen
gépeljük be a RUN parancsot.
A menürész
Három menüpont áll rendelkezés¬
re, amit úgy aktiválhatunk, ahogy a lé¬
pést (tűzgomb megnyomása az adott
szónál).
— Vége menüpont: A játék befe¬
jezése. Vigyázat, az állás örökre elvész!
Újraindítás lehetséges a RUN parancs¬
csal.
— SEGÍTSÉG menüpont: Aktivi¬
zálása után az egyik bábunk villogni
kezd. Ez a program által javasolt bábu
a következő lépéshez, amelyet meglép¬
ve nem veszthetjük el a játékot.
— A JÁTÉKRÓL menüpont: Egy
rövid ismertetőt ad a játékról és a szabá¬
lyokról. A tűzgombbal vagy egy tetsző¬
leges billentyű lenyomásával térhetünk
vissza a játékba.
A stratégia
A gép stratégiáját a nehézségi fo¬
kozat befolyásolja. Könnyű fokozatban
a gép véletlenszerűen választja ki a
megfelelő bábut, így könnyű megven¬
ni.
Az öt mezőt megszámoztam 1-től
5-ig a következőképpen:
A gép a nyeréshez a következő lo¬
gikát használja:
Mivel a játékban csak egy üres
mező (továbbiakban: luk) létezik, csak
azt kell meghatároznia, hogy melyik bá¬
bujával lépjen a lukra. Az esetek több¬
ségében azonban nem is kell gondol¬
kodnia, ugyanis csak egy bábujával lép¬
het Ilyenkor. Ekkor megkeresi, melyik
ez a bábu, és meglépi.
Amikor két bábuval léphet, a gép¬
nek azzal kell lépnie, amelyikkel a követ¬
kező lépésben nem lesz beszorítható.
Ezt úgy érheti el, ha elkerüli a két bábuja
c*
30
egymás fölé kerülését. Ez a gyakorlat¬
ban azt jelenti, hogy nem azt a lépést
lépi, amelyikkel a bábui az 1. és4., illet¬
ve a 2. és 5. pozícióba kerülnének.
Ezenkívül akkor sem egészen mindegy,
hogy mit lép, amikor első ránézésre
mindegynek tűnik. Ugyanis előbbre
hozhatjuk a nyerést, ha a bábuk a felső
terület felé mozognak. így a gép akkor
is számol, ha a luk a 3-as mezőre esik.
Itt jegyzem meg, hogy a program
a SEGÍTSÉG menüpont választásakor
ugyanilyen módszer szerint számolja ki
a megfelelő bábut a játékos számára.
Nagyjából ennyit a stratégiáról.
Bővebben a Részletes leírás megfelelő
részében olvashatunk erről.
Részletes programleírás
A program leírásakor megpróbál¬
tam a strukturált programozás elveit kö¬
vetni (már amennyire ezt a 2.0-ás BA¬
SIC lehetővé teszi). így elkülöníthetők
egyes szubrutinok (amiket GOSUB-bal
hívnak meg) és igyekeztem kevés
GOTO-t használni.
A játék ciklusába (130 — 300. so¬
rok) az SZ (szerva) változó függvénye¬
ként lépünk be (játékos vagy gép lé¬
pése).
A játékciklus a játékos lépésével
kezdődik (a 130. sortól). Élőször beállít¬
juk (aktualizáljuk v. frissítjük) az E$()
tömböt (2000), majd megállapítjuk,
hogy melyik mezőn van a luk (3000). Az
eredmény a LU változóba kerül. (Értéke
1-től 5-ig mehet.)
Ezután megnézzük, hogy a játékos
melyik bábuja (esetleg mind a kettő)
léphet egyáltalán (3200), és ha egyik
sem (mindkét KIO értéke 0), kiírjuk,
hogy vesztett, majd befejezzük a prog¬
ram futását (11000. sor).
Ha léphet a játékos, tovább fut a
program (140. sor). Meghívunk egy
olyan szubrutint, amely a tűzgomb
megnyomására tér vissza, egyébként
meg a nyilat mozgatja a JOY-nak meg¬
felelően (2500). Ha benyomták a tűz¬
gombot, jön a következő szubrutin
(5000). Ez előállít egy OB (object) nevű
változót, aminek értéke 0-tól 8-ig ter¬
jedhet, és azt mutatja, hogy hol történt
a tűzgomb lenyomása (vagyis hova mu¬
tatott a játékos):
1—5 esetén az egyes mezők valame¬
lyikén,
6 esetén a VÉGE menüponton,
7 esetén a SEGÍTSÉG menü¬
ponton,
8 esetén pedig az A JÁTÉKRÓL
menüponton.
MÁRCIUS
PÁLYÁZ AT
cy
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
1
■2
3
4
5
6
•
löű
13.Ö
115
128
122
124
126
12S<
130
134
136
138
148
145
150
155
160
165
178
175
180
IS'0
132
134
196
200
210
220
230
248
245
250
255
260
265
270
275
280
290
300
399
400
410
420
430
433
440
450
460
4 70
480
490
500
510
989
390
394
393
1000
1005
1007
1010
1015
1020
1030
1040
1050
1860
1070
1080
1085
1€19@
RÉM * BESZÓRITOS *
RÉM * BV ftLEXHY PETER *
RÉM # 1992.x.12. *
RÉM * POR THE C= UJSPlÖ *
GOS;Ü6 1000
GOSUe 1500
6ÜSUB 1660
IFSZ=2THP:N200
írem BEflLElTRSOK
íREM THBLPl (íl
íREM SPRITE-OR BE
■RÉM 8ZERVR R ŰEPMEL
!<!
RÉM R .JRTEROS LEP
RÉM
GOSUB 2000 í G08UB 3080
Jíí=".J" íGOSUB 3200 íREM KI LEPHET ?
IFK í í 1 ;'=0RHDKI <2>=0THeMl 1000
í PER # VESZTETT *
GOSUB 2500 íP'EM VRRRS H FlRE~Rfl
GOSUB 5000 íREM OB RISZRMOLaSR
I.F Oe=0 THEN 140
IF 0B>5 THEN 408 ^RÉM MEMURE MEHT
IF E:J:<;06XO“.J" THEH 140
IFKI c:2;>=í0THEHIFIÍ.5. C 1 > =OeTHEHHM=OB ■ HV=LU
IFR.I <2>THeHHN~0B ' HV=LU •• GOTŰ180
GOTO 140
GO3UB4000 í RÉM LÉPÉS
GOTO180
RÉM
RÉM
GÉP .roH
GI3SUB
GOSUB'
..)S-="G'
GOSUB
2000
3000
3200
■ Re.M
í RÉM
FRISSIVÉS
HÜL R LUK
íREM MELVIK BHBUVRL
r. FKI í 2 > =0 THEH IFK1 <’. 1 > --0THEM10008
í REVS 4 R GÉP ELVESZTETTE 4
IFK. J. <'.2>=0THEHHN=KI. C 1 > ^ GOTO2S0
HN=0
£V FÜ=2 THEH ..)5t-=''G" : GOSUB3400
IF HM THEN-288
ve=iht<:rnd<;i>42>'H
HH=KI<:VE>
HV=LU
GOSUB 4008
GOTO 130
P'.EM
RÉM
P'.EM
fi LUKRR
LÉPÉS
R -JRTEP.OS
LEPUNH.
■JÓM
1FOB=6THEH21000 ^RÉM VEGE
1FOB=7THEM440 .rém SEGIVSEG
GOSUBS000 -RÉM R .,)RT£KRL'/L
GOTO 140 íREM V1SS2R
S=4íGOSUB7500 íREM INVERZ BE
GOSUB2000 í GOSU8300O ^ RÉM FRISSI VÉS
l P K1 <.2 ;■ =0 (HENHM=K 1 < 1• GOTO490
ÍGOSUB3400 í RÉM GONDOLICÜZZ !
IFHM=0 l'HEMHH^KI (. IMTCRNOÍ 1 ;' 42;'+ 1 >
V Í.LL06 VRTRS
inverz ki
V Í.SSZR
Gosue7008 í rém
S=4 í I3OSUBV'530 ’ RÉM
GOTO140 íREM
K'.EV! BERLL I VRSÜK
F:EM 44HÍ44444.444
V=5:3248 ^ P'.ESTORE
DI. m; 3X <; 5 f, sY <; 5 >, XR (. 8 , xf v 8 ;■ / yr c s >, yp <; s >, ms <: s >
OlMMíCS;' , £S»''.4;'
POKE53280/ 0 í P0V:E5:3281,0
POKE788,52
PR 1 NT'' (kll" CHRí- <; 8 > CHRS-- C 142 >
FÓR 1 = 1 rOS : RERDSX C 1 J / SV<. 1 >
NEX r I
0RTfi48.74.208,74,128,146,48,218,208,218
F0R5. = 1T08
í REftoxflc 1 ;■, XF <; i ;■, vrc i >, yf í i. ;■, ms<. i ;■
NEXT l
DRTR:3;2,88,58, 106,0
ORTR192,24>3, 58 , 106, O
O
O
O
O
O
O
O
o
o
o
o
o
O
O
O
O
O
O
O
O
o
o
o
o
A többi helyre való mutatáskor az
OB értéke 0 lesz. Ezután OB kiértékelé¬
se folyik.
Először azt vizsgáljuk meg, hogy 0
volt-e. Ha igen, visszaugrunk a várako¬
zási részre (140).
Ha OB értéke nagyobb 5-nél (tehát
menüpont), akkor a vezérlést átadjuk a
400-as sornak (lásd a következő be¬
kezdést!)
Ezután már biztos, hogy egy me¬
zőre mutatott a játékos. Megnézzük,
hogy azon a mezőn, ahová mutatott, az
ő bábuja van-e (160. sor). Ha nem,
visszaugrunk a várakozási részre. Most
már tudjuk, hogy a játékos valamelyik
saját bábujára mutatott. A 4000. sortól
kezdődő ,,LÉPÉS" szubrutin két pa¬
ramétert vár. Az egyik (HN, azaz hon¬
nan) az, hogy melyik mezőről (1 — 5), a
másik (HV, azaz hová) pedig az, hogy
melyik mezőre mozgassa a megfelelő
bábut.
Ha a játékos egyetlen lehetséges
lépését tette meg, így HN az OB értékét
veszi fel, HV pedig természetesen LU
(azaz a luk) értékét (165. sor). Ugyanez
a helyzet, ha a játékos két lépése közül
választott (170. sor). Ha csak egy bábu¬
val léphetett, de a másikra mutatott,
visszaugrunk a várakozásra (mivel ezzel
nem tud lépni). Ezután már minden
kész a lépéshez, tehát ez következik
(4000). Ezzel a játékossal foglalkozó
részt befejeztük.
A 200. sortól kezdődik a GÉP Lɬ
PÉSE rész. Ez ugyanúgy kezdődik,
ahogyan a JÁTÉKOS LÉPÉSE rész kez¬
dődött (E$() frissítése; LU meghatáro¬
zása; KI (1) és KI (2) meghatározása,
majd ezek ellenőrzése.
Ezután megnézzük, hogy egy
vagy két lehetőségünk van-e a lépésre
(250. sor). Ha csak egy, úgy HN az első
lehetőség, KI (1) értékét veszi fel. Ha két
eset van, úgy a fokozat szerint véletlen¬
szerűen vagy gondolkozással előállít¬
juk, hogy melyik bábuval lépjünk.
Ha nehéz fokozatra van beállítva, a
program meghívja a MIVEL LÉPJÜNK
szubrutint (3400). Ez a rutin beállítja
HN értékét a megfelelő mezőre; vagy
0-át ad vissza, ha mindegy, hogy me¬
lyikkel lépjünk. Ez esetben az RND
függvény segítségével választjuk ki,'
hogy KI (1) vagy KI (2) legyen-e a meg¬
lépendő bábu.
Ha készen van HN értéke, HV föl¬
veszi LU értékét (a lukra lépünk), és
meghívódik a LÉPÉS rutin (4000). Ez¬
után visszaugrunk a játékciklus elejére.
A 400-tól 510-ig terjedő rész a me¬
nüpontokkal foglalkozik:
— ,,VÉGE'' esetén a 21000. sorra ug-
31
MÁRCIUS
PÁLYÁZAT
runk, ami elköszön és befejezi a
programot.
- „SEGÍTSÉG" esetén a „MIVEL
LÉPJÜNK" szubrutin segítségével az
előzőekhez hasonlatos módon kivá¬
lasztunk egy mezőt (a HN ben), majd
meghívjuk a VILLOGTATÁS szubrutint
(GOSUB 7000), és végül visszaugrunk
a várakozási részre (GOTO 140).
— A maradék esetben (ez csak az ,,A
JÁTÉKRÓL" lehet) egy szubrutin segít¬
ségével (8000) kiírjuk a magyarázat szö¬
veget és várunk a tűzgombra (vagy egy
billentyűre), majd visszaugrunk a
140-es sorra.
Ennyit a föprogramról, és most kö¬
vetkezzen néhány szubrutin leírása
részletesebben.
Frissítés (2000 - 2080)
Bemenő paraméterek: -; ki¬
menőparaméterek: E$(1—5). Ez a fon¬
tos és gyakran használt szubrutin a táb¬
lán szereplő bábukat leíró E$() tömböt
tölti fel ,,J" vagy ,,G" értékkel. Ezt a
SPRITE-ok, azaz az egyes bábuk min¬
denkori helyzetéből állapítja meg. Az
SX (1 — 5) és az SY (1 — 5) nevű kons¬
tans tömbökben az egyes mezőkhöz
tartozó SPRITE-koordináták értéke
szerepel.
Az ES$ (1—4) menü konstans
tömb elemei rendre: ,,G", ,,G", ,,J",
,,J"; azt mutatják, hogy egy bizonyos
sorszámú SPRITE melyik fél bábuját je¬
lenti. (A 0-ás sprite a Nyíl, az 1 — 2.
sprite-ok a gép bábui, a 3—4. pedig a
játékos bábui).
Az E${) tömb egyik helyére nem
kerül adat; itt az első sorban (2000.) el¬
végzett ,,0'-val való feltöltés eredmé¬
nyeképpen ,,0" fog állni (azaz itt van a
luk).
Luk meghatározása
(3000-3040)
Bemenő paraméterek: E$ (1 — 5);
kimenő paraméterek: LU.
Ki mehet a lukra (3200— 3290)
Bemenő adatok: J$, LU, E$(); ki¬
menő adatok: KI (1 — 2). Ezt a szubru¬
tint talán lépésgenerátornak is hívhat¬
nánk, ugyanis megmondja, hogy egy
adott fél mely bábui léphetnek a követ¬
kező lépésben. Ezeket a lehetséges lé¬
péseket a KI (1 — 2) változókban kapjuk
meg (mező-értékekben, azaz 1 — 5 ér-
f S MÁRCIUS -32
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
10V5 OnTH112, 16S, 130, 1.?8,0
í i. 00 Df11 ftOa, öö, 20.Z, 250,0
1105 ÜfTt l-l 1V2, .i40 / 202,250,0
111.0 OfiTf iS , 40,66, ?4, i.
1115 ORTnö,72,02,30,1
1120 DfiTft8,S8,SS,106,1
I 130 F OR1 ” 1 ■r05 ■ R£FiDt'W < I > : NtlFV í
1140 00 1034,35 , i:í:45, 135,234
1150 1 oR 1=11'04: REFiütős: <■ 1 ■;< • Ne.:>n' i
1160 Dili ftó, 0, , .1
1165 ^
1170 f'i:)K,fc.l3, 1 : INPUT "LJORÜZBT <:i-2;' = " ; f-O ■ POKE IS, 0 INT
II 75 IF'; FOO 1 :■ RNÜ <: FO- 21THFN1170
1130 1 HF'UT" k: 1 i!:e,::.u r 1 =j o ren.u'i,, > "; sz
1 185 IF (.S.201 ;'HiTÜ(.SJ:c>2>THFN1 180
11 SS :
1 .;:00 F UF: 1 ™tí.32'l 08S4
1210 • RERDFi ■ fOlCE 1, Fi ^ r(E;=7f 1
1215 ■
1220 Rlit'1 3F'l -2 ; 13. BLOKK
l;225 REI'I
1230 Ol-lTFie ,16,0,0,56,0,0,56,0
1235 ORTFI0, 124,0,0 , 124.. 0,0, :Z54,0
1240 DFrrFI0,255,0,1,255, 0 , 1 ,255 , 123
1245 0HVR3,255,128,7,255,182,7,255,224.
1250 00X015,255,224, 15,255,240, 31,255, .5:40
12:::>s DFl rnsi , 255 , 243 , 63 , 255 , 252 , 63 , 255 , 252
1260 ÚFTI 8127,2513,254 , 127,2155, 254,2:55,255,255
1265 REí'! most .ÍON Fi 14. BLiJIOi., SP3-4.
1267 PE11
1270 FOF:!.=836TOS:58
1280 ^P0l;ei,:255DtEXTl
12S0 FOK1=704X0736
1300 ■ PEFlDR ■ P0t!.e 1 , Fi ^ HEXT I
1:305 '.
1310 F:E.M :iP0 11. BLOKK
1:320 RÉM
o
o
o
o
o
o
o
o
o
o
o
o
o
13:30
13:35
1340
1345
13:50
i:360
1370
1492
14S3
14 . 9:5
14S9
1500
1:305
1510
1 : 51:3
1528
1:325
1527
15:30
15:35
1 540
1:545
1:550
1555
1:368
1565
1570
1575
1580
153:5
15S0
1595
1600
1605
1610
1619
1620
1625
1630
1635
1640
□FlTft2:34,0,0, 252,0,0
0RTFI252,0,0,254,8,0
ÜMTFU43,123,0,7,192,0
ORTFI1, 192,0,0 , 128,0
FÓR1=737X0766
■POK£l,0MrEXTr
REIURN
RÉM rBBLaRR.)'ZOLM:-i
48,0,0
, 0,0
3,224,0
T1:í: = " >-
T3í=‘'
l'5.í = '‘ !•
S5í|:="
364.= "
T8sr.= "..
:.H*.=;í4:T* 15
íT6.4= :T7* = "/'''
":S134'.= "
'':S44-='‘
— -" • T9s-.= " I "+S5S:+T:3ít:-t Sl:39 + T:54:H
4 t-S64+ V54: + S:3s:4 154+364+tSit
PR INI'' " ;r 14 ; 31 ::i.4 ; T 14
PR1HTT9:4 ■ PRtHTrSil.' PR U'R'T94 PR1NTT34
PRINT" ";T44;3134;r4#
PRINT:344; V3:í, " “ , V64, " " , T74, "
Tb-T., 344; 1 64 ; " " ; T7it:, 344 ; 'i :34
T54, S54; |■64, " " ; 174; 354, T54
PR1HT-S44,
PRrHTS4-it,
PR ÍN 1 . 344 ; T. 54 ,
PRtNTU14 :
364; I 14;S64; T:34
PR 1N' r 01:4 : PR í N r 01.4 ■. PR I NT 01 4
PR Í.NTS.H 4 ; T:í4 , . 364 -; T24,364; T54
PF: 1 H'f'34:4 , T54 ; 354 , T 74,364; " " ; r64, s:34; v;34
r'RtNTS44;. T 54 ; 344 ; T74; 36-4, " , 'r64 ; 344 ; T:54
PRINTS 44 : T54, " ";r7:* ," " ; T64, “
PRlífT•' " ; T34, :31 :.94; T:34
PRlNrr94:Píí;i;Nn94
PRlNt.; t:54, 3 : 54 , '■ f ; T34; ; S54; T54
PRtNTTSíir.
PRlNt.; T24; Sl:34, T24;
PR INT "SÍ
PRi:NTTRBr:30O , " ,
PR 1 NT t RB CSF) ;■ ; " VEOE "
PRtNrt «e(..30;‘;"
l•■■R 1N !■ t RB <: :301 " SEG IT 3Ei3 •'
O
O
o
o
o
S:54+T54
o
,T5:4 Q
O
O
o
O
o
o
; T5:4
PÁLYÁZAT
tékkel). Ha csak egy bábuval lehetsé¬
ges a lépés, akkora KI (2) értéke0 lesz;
ha egyáltalán nem léphet az illető fél
(azaz beszorították), akkor mind a két
változó 0 lesz. Az M$ (1 — 5) nevű, vál¬
tozó hosszúságú elemekből álló kons¬
tans tömbben azt tartjuk nyilván, hogy
egy adott mezőre mely mezőkről lép¬
hetnek bábuk. A kérdéses mezőt az In¬
dexben adjuk meg, és értékként egy
olyan sztringet kapunk, amely számok¬
ból áll. Például, ha a luk a 2-es mezőn
van, akkor ugyebár a 3-as és az 5-ös
mezőkről léphetünk rá. Ennek megfele¬
lően M$ (2) értéke ,,35". Ha pedig a
3-as, középső mezőre esik a luk, akkor
M$ (3) értéke = ,,1245", ugyanis ide
bármely mezőről léphetünk. A rutinnak
egy fontos jelzőkaraktert kell még átad¬
ni: J$-t. Ez azt jelzi, hogy melyik fél bá¬
bui a kérdésesek. így J$-t a rutin hívása
előtt tel kell tölteni ,,J" vagy ,,G" érték¬
kel. Ezáltal elértük, hogy ezt a rutint
mindkét fél használhassa.
Mivel lépjünk (3400- 3510)
Bemenő adatok: LU, J$, E$ij; ki¬
menő adat; HN.
Ez a rutin tartalmazza a játék áltál
alkalmazott stratégiát. Feladata: egy
megadott luk-állás esetére meghatá¬
rozza, hogy mely mezőről érdemes lép¬
ni. A választott mező'számot (1 — 5) a
HN nevű változóba rakja. Ez a rutin lé¬
nyegében csupa IF-THEN-ből áll. A J$
paraméter itt azt jelenti, hogy melyik fél
a kérdéses.
A legjobb lépést a luk (LU) 1, 2, 4
és 5 értékénél nem nehéz meghatároz¬
ni. Csak arra kell figyelni, hogy ne kelet¬
kezzen olyan helyzet, ahol a két bábu
függőlegesen egymás fölött áll. Tehát
pl. ha a luk az 1. mezőre esik, akkor a
két lehetséges lépés (4. és 3. mező) kö¬
zül csak a 4. jó, mivel ha ezt lépjük, ak¬
kor az eddig 4-esen álló bábu kerül az
1. mezőre és az 1 — 3. mezők nem füg¬
gőlegesek.
Akkor bonyolultabb a helyzet, ha a
luk a 3. mezőre, azaz középre esik.
Ilyenkor két állást kell meggondolni: Ha
az egyik bábu a másik fölött van, akkor
ez a nyerés előtti utolsó állás, ugyanis
a felsőt betolva középre a másik játékos
nem tud lépni.
A másik meggondolandó állás, ha
a két bábu egymással ellentétes olda¬
lon helyezkedik el, azaz az 1. és 5., illet¬
ve a 2. és 4. mezőket foglalja le. Ekkor
az alsóval érdemes lépni, mert így meg¬
nő az esély a nyerésre. Ugyanis, ha az
alsót feltoljuk középre, akkora másik já-
Í.645
PRlHTTfit)<:3€);';, ,
o
Í650
PRlNTTftBf.30.'; "R ..JR ÍEK.H'.OL"
O
■ 1&53
Rfc..'VURU
o
1655
fi'.EM SPR 1 TE-i;)K. BEKRPC.80L.RSrt
O
165 r’
R E.1 1 4 i* iH i* i* W W ^ »i* ;<(
o
1.658
1660
P0Ke:.v-i-6, sxt.4 ;■ ^ pokev+ 7, 8v<.4 ;■
O
1665
PÜKEV+S , 8:>í(:5> ■■ PÜKLV+9 , SVCS^
o
1670
POKEV+16,0
o
16 <"0
P0KEV-f33 . 1 POKEV-t.40,5 ^ P01.E.V-+41,5
1680
P0i:.EV-^42,6 ^ PÜKe;V-i43,6
o
1685
POKE.Z040, 11 ;POK£2041 , Í3.PŰKE2042, 13
o
1690
POKE2043,14^ POK.E2044 ,14
1635
PDKEV/ 120 4-'OKEV-t 1 , 100
D
i;'00
P0KEV-t 2, SXC 1 > ■ POKEV-P3. SYC 1 >
o
1705
pOK.ev+4, s:>< <: 2 > pokev+s , sv <: 2 >
1710
POK.EV+6, SX<,4> ■ POKEV-t 7 , SV<4>
o
1715
POK£V-^S , s^cs;* ■ POKEV+9, SY<.5>
o -
1720
POKE.V-121.31 : RÉM BEK.ftPCSOLPlS
1738
RETUR'.rt
o
1390
1394
Rfin FRI>3S1TES
o
1996
RÉM i«**i*H<4i*#*
o
1999
2008
PORI I .=1 ros ■ e:* c i =■■ 0 ^ hext i
o
2005
FÜR.J = 1T05
o
2010
■ FÓR l=V-+2TOV+ 10STEP2
0
2020
^ = IFPEEKC i;-OSX<:.j ;‘THEM2060
2030
■ ■ IFFEEKC I-H -POSVÍ J ;• ! HEN2060
o
2040
■ ^ E.f.C.l 'J-ES-f í. <: l-V>/2;'
o
2050
■ ^GÚTO2070
o
2060
^ NEXT í.
2070
HEXT.J
o
2080
RETÜRN
o
2430
2434
RÉM .JOY-KEZELES
o
2496
RÉM
o
2499
2500
;><R=ei -. Yft=0
o
2510
R---PEEK.<:56320 >
o
2520
IFCRRMO16 > =0THE:MRETURM
o
2530
1F <: flftUDS > =0 THEMXrt=4
2548
1 ; F <: RRHD4 > ==0THeM:>;rt=- 4
o
2550
IF <: firtUDZ > =0THEMVR=4
o
2568
IFíRRMOl > =0rHENYR=-4
2570
lFXrt=-4THEUzeso
o
2580
01 ==PEe;K.<; V ;-K»!rt ^ .j-e==0
o
2590
IFO1 ■064THEH2618
2600
IP CPEEK.C V-H6:'RHD1 >THEN2740
o
2610
1P01>255THEM.:)E™1 ^ 01=01--256
o
2620
PuKEJV.Ol
2630
IF..TEO1THEH2740
o
2640
D2=PEEK <: V+ 16 :• RNO1
o
2650
02=1“ÓZ
o
2660
P^^KEV-^ 16, PEEK C V+16 ;■ rtND2540R02
2670
GOTÜ2740
o
2680
D:3=PEEK f. V ;• +;>■;« ■ .1 E=0
2690
IF03-O24'm£M2710
o
2700
I F C PEEK <: V+ 1 6 > RMO1 ;> =0THEH2740
o
2710
1FO3 !:.0THEN.JE.= 1 ’ 03=03+256
o
2720
Pűt;:EV, 03
2730
IF..rETt-lErt2640
o
2740
04=PEEK.<;V+1> + VR
o
2750
POKEV+1,04
o
2760
lFO4.;>48TrtEH2780
27'70
POKEV+1 , 50
o
2780
IFD4C230THEN2800
o
2790
POKEV+1,228
2600
I3OTO2500
o
2390
2994
RÉM LÜK MEOHrtTRROZrtSrt
o
2996
RÉM
o
2999
-3000
F0RI=1T05
o
3010
IF£Í.<. l > = "0" mEM3030
0
3020
NEXT í
o
3030
LO=I
3040
RETORH
o
o
PÁLYÁZAT
Cf
tékos a bent lévő bábujával ráléphet az
imént keletkezett üres helyre, s így már
el is vesztette a játszmát.
Programtechnikailag a legegysze¬
rűbb módon, egymás utáni IF-ekkel va¬
lósul meg a HN megkeresése.
A gyorsabb működés érdekében
az AND logikai kapcsolat helyett egy
sorban történő IF...THEN IF...TFIEN...
utasításokat alkalmaztam. (Például:
IF E$ (1) = J$ THEN IF E$ (4) = J$
THEN HN = 1.)
Végül még annyit, hogy mint az
iménti példán is látszik, ez a rutin is füg¬
getlen a játszó féltől. A SEGÍTSÉG op¬
ció ugyanis ugyanezt a rutint használja
a megfelelő bábu megkeresésére. Ilyen¬
kor elég csak J$ értékét ,,J'Ve állítani
és meghívni a rutint.
A bábu mozgatása
(4000 - 4080)
Bemenő adatok: HN, HV. Kimenő
adat: nincs.
A rutin egy bábut tol el egyik hely¬
ről a másikra. A HN mutatja, hogy hon¬
nan (1-5), a HV pedig, hogy hová tolja
a bábu sprite-ot. A sprite-koordinátákat
az SXO és SYO konstans tömbökből
veszi, majd a megfelelő sprite-koordi-
nátával egyszerűen felülírja a régit, ezál¬
tal a bábu az új helyre kerül, helyén meg
luk támad. Ezért van szükség ezután
még a tábla ,,frissítésére", ugyanis ez a
rutin az E$() tömbhöz nem nyúl.
Mire mutatott? (Object lOB]
előállítása) (5000 - 5130)
Be —; ki: OB.
Erről a rutinról már volt szó a játék¬
ciklus elemzésekor. Még annyit, hogy
az XA (1-8), XF (1-8), YA (1-8), YF
(1-8) és MS (1—8) tömbkonstansok
SPRITE-koordinátát jelölnek. Azt mu¬
tatják, hogy az indexben megadott ób-
jektum (mező, ill. menüszöveg) mint
ablak milyen koordinátákkal bír.
Egy négyzet két átellenes pontjá¬
nak koordinátáiról ésa SPRITE legfelső
(MSB) bitjének állásáról van szó. E
négyzeten belüli tűzgomb lenyomást a
program az adott objektumra való rá-
mutatásként értelmezi.
Azt hiszem, a többi rutin nem igé¬
nyel különösebb magyarázatot, s az
előzőek és a programlista alapján meg¬
érthető.
Alexay Péter
o
31 S>0
3134
RÉM Rí. í'lEHEr t'H LUH.S'H ?
0
3136
o
o
3139
3200
x= 1 ■ KI r 1 ;< ■•-.0 ■. ti. i <: 2 =8
o
3218
rí1:=hí'.<;lu;'
o
3220
fl=LEHC0S:'
3230
FÓR1=1TOR
o
3248
^Bí—MlOS-CrtS., I , 1>
o
3260
:c*=e:4<;vrl<:bs.;'>
3278
■ Í.FC:í=.JÍ.THENK.H,:<;'=VrtLr.Bír> ■ X=X> 1
o
3280
O
3230
RETorín
o
3330
3334
RÉM MIVEL LEP.JUMtí ?
O
3396
3333
RÉM * ■;* .* 4í * 4 : * *
O
o
3480
1FLIJ=1 Í'HEMHN=4 : OŰTO3510
.3419
ÍFLU=2TMEMHM=5 ^ GOTO3510
3420
lFLIJ=3THeH3460
O
o
3439
Fl=LIJ-3
3440
1F íi» <. fi ;■ =.J4 THE.MHM=H ' 80 'l'Ü3518
34S0
Hl't=0 ’ Ö0T0.3518
O
o
3468
ÍFEÍ-Íl >=.,r.ir.THE141F£*<.4:'=.J4 ! HEI4HN.- l '.130X03510
3470
IFEÍ f. 1 ;■ =.;arTHE:N'íFES-<.5'l=.l !t THEMHW=5 > GOT03519
o
3480
IFEí (:2 > =.r.irTHEM IFE#C5>=.:i:rTHEHHN-=2 M30T03510
O
3430
IFES^ (. 2 > -J *'r HEN Í fXlí. C 4 > =.l t.THErrf!M=4 ’ 00T03518
3500
HN'=0
o
3510
3330
REXURM
O
3334
RÉM BMBÜ MÚZORTRSR
o
3396
3933
RÉM *^***^i¥*^*i*m**
O
4090
FOR.Í =V'4-;2 1 OV'4- 188TEP2
o
4010
, IfrpEEKC 1 ><>S;>;<:Hri;‘THEM4058
O
4020
: IFPEELC 1'4' l ;‘''.:.>SYC.HfO XnEM4050
■SK=Í-V
o
4040
' 6O Í O406,8
O
4050
trE:>íí I
4069
POKEV"i-SK,SX<.HV:'
o
487’0
POKEV-i 1 -^8K - SV <; HV ;■
O
4088
4930
R.ET0RN
0
o
4332
r-iEM MIlíE MUTRTOTX '?
4994
RÉM .•■oe.JECT <:oe> elorllítrsr/
4336
REÍ1 rit tit i* ♦ 4 4 4^444444 4 44444
o
4393
5000
:4=peEK<:v> ■ v=peek.<;V'» i ;■
o
5010
M-S=PEEK. <: V+ 16r-lHO l
0
o
5020
0Pi=8
5030
F0RÍ. = 1T08
5040
^ iFX'!:XR';:i:'THEN5ii0
o
o
5050
■ i:fx>xf<: i >thehsi 10
5060
■ n-V';'.vB(:i:'THEN5ii0
o
5070
■ I.FV>VF<: i ;-THEM5110
o
5088
■■ IP MS'OMSf. 1 > i'HEH5110
5890
836=1
o
5100
’ R.EXORN
0
5110
MEl'lT t
5120
Of3=8
o
5130
h'.CTURM
o
5999
6390
RÉM OEÖKSEO
ü
6992
RÉM
o
6399
7000
FORl=V'K>TOV >• i88 f EP2
o
7818
^ trpEEivC 1 >'C:>sx<:rh;' THEhí'050
o
7020
^ tPPEEKC 1 ■H 1 C.;>SS't:r'iN;'XHEN7050
7839
:SK=<:i-v;'/2
o
o
7048
■ GOl'O 7068
7’050
t'iEXt 1
7060
fi=2 'tor:.
o
o
7070
R1=255”R
7088
l-üp; .j'rt=L ro 4
7830
^ FOR(;í= 1TO1 P!0 ^ MEXTO
o
? 1 m
^ F'Ot:.£V'+ 21 , PEEl;. < V -i- 21 :■ RMOR1
c
7110
: fop:o=ixoi 00 ■ Mt;xxí.i
7129
^ poireV'í 21, PEEK. < V4 21 ;■ orr
o
o
7130
he:>ít ..ír
7140
R.£rURM
o
34
MÁRCIUS
PÁLYÁZAT
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
<’4Ba
<’4Stó
74í;>'d
<’499
7500
■75 3.0
75.20
7522
7525
7527
7529
7530
7540
7550
7560
7990
7932
7395
7339
Ö000
8003
8005
801.0
80.30
8040
8050
8060
8070
8080
8030
83.00
8110
8120
8130
8140
8150
8160
8170
8180
8190
8200
8210
8220
8230
8240
8250
}l:eM MEHU82űV6i3 IHVLEEKt.
f I3R1 •- 1024+40i*8+30 101024+40JH8+33
■ POKEl , PEEtiC 1 > UK 128 ^ MEXT 1
RETUKN
REtl MENU820VE8 V13SZH
f ORI = 1024+40i«S+30TO 1024+40^8+39
:R0KEI,PEEtí:7i;<-128
MEX'l 1
RETURH
RÉM 8 ..ím EtsiROL
RÉM
8=6 ■■i3ÜSUB7500 -RÉM SOR. INVERZRE
FORI = 1TÜ100 ^NEX'f 1
ROEEV+21,0 Ni'EM SPRIIE-IJK KI
RRINT'XT'
RRINI " a ..íRTEKR.OL ■
RR.INl'
PRlHÍ"rt .laVEtc, EREDETI NEVE COG-GÜV1 ;■ t-l HINDUK.''
PR IN T" US I NYELVEN EGYSZERŰEN PHR..)'ftTEK;OT "
PR INT'".JELENT, lényégé RZ ELLENFEL MOZUHSRNRK"
PR 1. N T " MEURKHURLYOZFISH . M INUKET .ÍRT EKSSNRK "
PR.INT" KEI 8RBU..)R VRN, "
PR INT
RRlNl" 8,2FlBHLYŰK. ■"
PR.INT
PR.INT"R BrtBÜK fi VONHLRK. MENTEN TOLNRTOK ITV"
PRINT"RZ EOYÍK; SZOMSZÉDOS MEZŐRE."
PRINT"eRRHELVlK BfiBUVfil... LEHET KEZDENI"
RRlNT"fi .IRTSZMftT.RZ R ..HTTEKOS GYŐZ ,ftKI"
PR I NT " ellenfele i- BESZÓR. I V-Jfi , Vfiú'.' 1S MEijHK.fi
PR.1NT"0RI...V07;ZR R T0VH8BI LÉPÉSÉIT ."
PR INT
PR.l.NT"fi TRBLR fiSZlMMETRIfiJR ELLENER.E"
PRINf'R K.IINOULO HELYZET NEM KEDVEZ EGVÍtí"
PR INT" .JfiTEKOSNRK. SEM."
PR INT
PR INT" fi PROOP.HMOT IR.Tfi ■ "
PRINT" RLEXRY PETtlR , 1992. X. 12--EN. "
O
O
O
O
'RÉM ■!■fieLH KIRH.JZ.
'RÉM SPRITE-OK BE
8500 POK.E1S>8.0
8510 GETTí-
8520 IFT-TO" "'VHEN8550
8530 IFi.PEEKC 56:320;' RND 16;'=0THEN8550 Q
8540 ÖOrO8510
8558 GOSUB1500
O 8560 POk;EV+21,:31
8900 RETURN
9399 '
O 10000 F OR I =0T ü:300 ' NEXTI
10010 PR I NT " na»-(VER. ( EL > W"
10020 POK'.EV+21, Ö PÜKE 788,49' EHO
O 10999 '
11000 FÜR í ~m' 0300'NEXT1
11010 F'RÍNT":'WESZT£TT£LI "
U 11028 POKiEV+a 1,0' P0KE788,43 ' ENO
20'399 '
^ 21000 S=2'GOSUB7508
21010 FOR1'=0TO200'NEXT1
21020 POKEV+21,O'P0KE788,49
p, 210:30 PR1NT";;>I VlS20NTLfiTflSR.fi !
^ 21040 END
21399 '
o
o
o
o
o
o
■■PRINT
o
REftDV.
o
o
o
o
Colour Magic
Ebben a programban a
RUN parancs kiadása után
varázslatos színek tárulnak
elénk.
O
O
o
o
100 RÉM *i*HK*4i:'K*He****:#*i*.+:i****!Hí*»*#i***if
110 RÉM ■* COLOUR MAG IC C-64*
120 RÉM :■!«,, *
130 RÉM ♦ KE;5ZITETTE' BRUCE MAESTRO ♦
140 RÉM *##******H!Hf:(f*i'K.'^******:**i******
150 '
160 POKE 53280,0 ' FOKÉ 53281,0' PRIHT " rj"
170 KP= 10;24 ' KC'=55304
180 FÓR I=KP TO KF+1800'POKE 1,160'NEXT
185 PRI NTTflB 14 > ""
:l. 36 PRI NTTREi<36;■ " TT t 1 lTIT;TTT TT Wi;i!.WIMI=:i;iffi^^
198 FÓR W'=0 TO 50
200 FÓR I'=e TO 12
210 FÓR .1=0 TO 12
220 K=I+.J
230 C0"= INT <; ..T*5.-' I +3 +112>
240 POKE KC+I+K*40,CO=POKE KC+K+I*40,CO
250 POKE KC+24--1 ■+ <24--K;■ i*40.. CO ' POKE KC+24“K+ C 24-1 ;■ *48,
260 POKE KC+K+(:24“i;'''lí40,CO'POKE KC+24-I4K.*40, CO
270 POKE KC-i-1 + ■C 24-K>*48, CO ' POKE. KC+24-K+1 '♦48, CO
280 NEXT
290 GOTO190
CO
O
o
■o
o
o
o
o
o
35
MÁRCIUS
o
PÁLYÁZAT
Cr
Zsírozás
A ,,Zsírozás V 1.3" nevű játékprog¬
ram az azonos nevű gyermek-kártya¬
játék mikroszámítógépes változata
Commodore 64-es számítógépre. A
programban a számítógép egyfajta
játék-stratégiát valósít meg.
A játékot egy személy játszhatja a
számítógéppel. A játékszabályok egy¬
szerűek. A 32 lapos magyar kártya
összekevert paklijából négy-négy lapot
kell kiosztani. A játékot kezdő játékos
egy lapot játszik ki. A kijátszott kártya
azonos rangú lappal vagy hetessel üt¬
hető, egyébként a kijátszott, asztalon
fekvő lapokat a kijátszó viszi el. Ha a ki¬
játszott lapot az ellenfél azonos rangú
kártyával (pl. alsót alsóval, ászt ásszal
stb.) vagy hetessel megütötte, az aszta¬
lon lévő lapok szintén azonos rangú lap¬
pal vagy hetessel tovább üthetők. Az
asztalról csak páros számú lapot lehet
elvinni. A következő kijátszás joga azé,
aki az asztalon lévő lapokat (az ütést)
hazavitte.
A játék célja az, hogy az ütések¬
ben minél több tízes és ász (zsír) le¬
gyen. Egy-egy elvitt zsír 10 pontot ér.
Ha a nyertes 40...70 pontot gyűjtött
össze, 1 mérkőzéspontot kap. Kétszere¬
sen számít a győzelem, ha a nyertes 80
pontot ért el, de a vesztes - akit ilyen¬
kor ,,kopasznak" neveznek — legalább
egy, bármilyen ütést hazavitt. Három¬
szoros a nyerés értéke, ha a vesztes
egyetlen ütéssel sem rendelkezik, azaz
,,csupasz" lett. ■
A játék során a kártyalapok színét
(tök, zöld, makk és piros) nem kell fi¬
gyelembe venni, így csak a lapfajták —
a hetes (7), a nyolcas (8), a kilences (9),
a tízes (10), az alsó (A), a felső (F), a ki¬
rály (K) és az ász (ÁS) — játszanak lé¬
nyegi szerepet a játékban és a stratégia
kialakításában is. Hála az egyszerű sza¬
bályoknak, a kártyajáték viszonylag
könnyen algoritmizálható és a stratégiai
egyszerűsítésekkel akár 16K tárkapaci¬
tású gépen is megvalósítható.
A gép a bejelentkezést követően a
(SPACE) billentyű lenyomására a játék-
szabályokat ismerteti dióhéjban. Min¬
den más gomb lenyomásával a játék
kezdődhet meg. A gép leosztja a lapo¬
kat a képernyőre, a bal oldalra a saját
lapjait fonákjukkal felfelé, a jobb oldalra
a játékos lapjait, látható módon. A játé¬
kos a kiválasztott lapot a lap mellett fel¬
tüntetett billentyűjel — a (Q), a (W), az
(E), illetve az (R) — szerinti billentyű
megnyomásával játszhatja ki. A kiját¬
szott lapok a képernyő közepén jelen¬
nek meg, a kijátszás sorrendjében sor¬
számozva. A pakliból, a talonból még ki
nem játszott lapok számát a legfelső
képernyősor közepén megjelenő szám
láló műfaja. A játékban elért pontokat
a kártyamezők alatti számlálók számol¬
ják. Egy-egy lejátszott partit követően
szöveges értékelés következik, majd
bármely nyomógomb lenyomására új
parti játszható mindaddig, amíg a gé¬
pet ki nem kapcsoljuk. A játékot hang-
effektusok és egyszerű zene színesítik.
Programáttekintés
A játékprogram három, egymástól
fizikailag iselkülönülőalprogramból áll.
Magát a játékot a , ,C" alprogram tartal¬
mazza. Az ,,A" és ,,B" alprogramok
előkészítő feladatokat látnak el. A játé¬
kot az ,,A" alprogram behívásával és
futtatásával lehet elindítani.
Az ,,A" és a ,,B" alprogramokban
alkalmazott programozási fogások (ér¬
dekesebb POKE-ok, önműködő prog¬
rambehívás, karaktergenerátor — akár
kibővítve vagy átalakítva is) más BASIC
programokban is felhasználhatók.
A ,,C" alprogram
Mielőtt a vezérlés a játék gerincét
képző programsorokra kerülne, az al¬
program a fentebb már vázolt módon
ismételten ellenőrzi a BASIC-munka-
terület átkapcsolását. Ha ezt rendben
lévőnek találja, elvégzi a játékhoz szük¬
séges további előkészítéseket (a tömb¬
kő dimenzionálásait, a képernyőkép ki¬
alakításához szükséges X és Y változók
beállítását, a hanggenerátor beállítását
stb.) és az elsőnek bejelentkező képer¬
nyőképet előállító rutinra adja a vezér¬
lést. A bejelentkezést követően jut a ve¬
zérlés az 1000...1400 sorokban látható
vezérlő részbe.
A kártyajátékban felmerülő külön¬
böző részfeladatok végrehajtására — a
moduláris programozás elveit követve
— különböző egymástól jól elkülönülő
rutinokat készítettem. Ezeket a szüksé¬
ges sorrendben a vezérlő rész hívja
meg.
A játék rutinjai a következő felada¬
tokat látják el:
10000 - BEVEZETÉS
A rutin feltölti a kártyapaklit mo¬
dellező P (32) tömböt T tői 32-ig terjedő
számokkal és képernyőre írja a Q-W-E-
R szimbólumokat.
11000 - LAPOSZTÁS
A rutin a P (32) tömbből véletlen¬
szerűen válogatva kiosztja a lapokat a
gép és a játékos számára is. A stratégiai
döntésekhez szükséges szinten a lapok
a G1 (4) és a KI (4) tömbökbe kerülnek.
A képernyőn való megjelenítéshez
szükséges adatokat a G2$ (41 és a K2$
(4) tömbök tartalmazzák. Az 1...32-ig
terjedő számokból a két szintnek meg¬
felelő átkódolást 30000 sorszár mái kez¬
dődő rutin végzi el.
A laposztás rutinja felrajzolja a
képernyőre a kiosztott lapokat szimboli¬
záló ábrákat és a talonban maradt lapok
számlálóját is.
12000 - KÉZI LAP KIJÁTSZÁSA
A rutin a Q-W-E-R billentyűk vala¬
melyikének lenyomásával kiválasztott
lap kijátszásáról, a KI (0) változóba he¬
lyezéséről gondoskodik. Egyúttal a la¬
pot szimbolizáló ábrát törli a képernyő
jobb oldaláról.
A rutin renonsz — téves kijátszás
— elleni védelmet is tartalmaz. A ,,to¬
vább ütés" játékhelyzetben ugyanis
csak az asztalon lévő legalsó lapfajta
vagy az adut képviselő hetes kijátszása
szabályszerű. A védelem megakadá¬
lyozza másfajta lap kijátszását.
13000 - KÖZÉPMEZÖ RAJZO¬
LÁS
A rutin az asztalra kijátszott lapot
jeleníti meg a képernyő középrészén.
14000 - A GÉP ÉRTÉKES LAPJAI
A rutin feladata a gép stratégiájá¬
ban a jelentős, értékes lapok számbavé¬
tele. A HE változó a hetesek, a TZ a tí¬
zesek, az AS az ászok számát tárolja.
15000 - A GÉP VÁLASZA ÉR¬
TÉKTÉLEN LAPRA
A rutin a gép stratégiáját tartal¬
mazza arra az esetre, ha az ellenfél ér¬
téktelen lapot, vagy esetleg hetest'ját¬
szott ki.
16000 - A GÉP VÁLASZA ÉRTÉ-
KÉS LAPRA
A rutin a gép stratégiáját arra az
esetre tartalmazza, amikor az ellenfél tí¬
zest vagy ászt játszott ki.
17000 - A GÉPI LAP KIJÁTSZÁ¬
SA AZ ,,A" TÖMBBE
A rutin feladata a gép által kiját¬
szott lap elhelyezése az asztalt jelképe¬
ző A(8) tömbbe és a kijátszott lapot
szimbolizáló ábra törlése a képernyő bal
oldaláról.
18000 - KÉZ VISZI
A rutin feladata a játékos által el¬
ütött lapok közül az értékesek számba¬
vétele, az asztal A(8) tömbjének és a
PÁLYÁZAT
Cf
képernyőn megjelenő ábrájának törlé¬
se. A rutin az ütésért járó pontokat a já¬
tékos lapjai alatt tünteti fel.
19000 - GÉP VISZI
A rutin feladata lényegében az elő¬
zővel azonos, avval a különbséggel,
hogy a szükséges műveleteket a gép ál¬
tal elütött lapokra végzi el.
20000 - tovAbbütés vizs¬
gálata
A rutin ,,kibic''ként működik, an¬
nak érdekében, hogy az emberi tévedés
lehetőségét kiszűrje. Előbb megjeleníti
a ,,Tovább üti (i/n)?" kérdést, majd
megfelelő válasz esetén gondoskodik a
szöveg törléséről. Téves válasz esetén a
,,Sajnos önnek nincs ütőlapja!'' üze¬
nettel utal a hibás ütés! szándékra.
21000 - GÉPI KEZDÉS
Amennyiben a kijátszott lapokat a
gép ütötte, vagy a partit a gép nyerte
meg, a következő, illetve a kezdő kiját¬
szásjoga őt illeti. Ez a rutin a gép straté¬
giája erre az esetre.
22000 - SZABAD VÁLASZTÁS
A ,,szabad választás" játékhelyze¬
tében a gépnek csak akkor kell lapot ki¬
játszania, ha meg tudja ütni az ellenfél
által korábban kijátszott lapot. A gép
csak akkor üti tovább a kijátszotta kát,
ha van ugyanolyan lapja, illetve ha a ki¬
játszott lap értékes, akkor is továbbüti.
ha hetessel rendelkezik. A rutin ezt a
feltétel vizsgálatot végzi el.
23000 - PARTI ÉRTÉKELÉS
A játszma végeztével ez a rutin ér¬
tékeli ki a partit és az eredménynek
megfelelő szövegváltozatot írja ki. A ru
tinból a vezérlés az 55000 sorban kez¬
dődő zenei rutinba kerül át.
30000 - lapAtkódolás
Korábban már volt arról szó, hogy
a stratégiában a lapok színe figyelmen
kívül hagyható, ugyanakkor a képer¬
nyőn való megjelenítésben ez is fon¬
tos. A rutin ezt a kétfajta átkódolást
végzi el. A P(32) tömbből kiosztott
1...32 számból előállítja a stratégiai
döntésekhez szükséges értékeket (he¬
tes = 1...ász = 8) valamint a képer¬
nyőn való megjelenítéshez a színt jelké¬
pező karakterrel (tök = [, zöld = font,
makk = I, piros = felnyíl) együtt a lap
szimbólumát (7,8, 9, 10, A, F, K és bai-
ranyíl = ász).
40000 - CRSR POZICIONÁLÁS
A képernyő különböző pontjainak
eléréséhez a képernyőkép kialakításá¬
hoz szükséges cursor pozicionáló ru¬
tin. (A rutin a POKE781,X:POKE782,
Y:SYS65520 gépi kódú rutinnal helyet¬
tesíthető.)
50000 - KÖSZÖNTŐ
Két képernyőképet tartalmazó ru¬
tin. A játék legelején bejelentkező szö¬
veget és szükség szerint a játékszabá¬
lyokat írja föl a képernyőre. A S$ (24)
tömbben elhelyezett szövegeket az
54000 sortól kezdődő kiírató rutin író-
gépszerűen jeleníti meg.
A rutinból a vezérlés szintén az
55000 sorban kezdődő zenei rutinba ke¬
rül át.
55000 - ZENE
A rutin a kísérőzenét állítja elő.
A hangjegyeket és a megszólalási
idő arányszámait az 56000 sortól kezdő¬
dő adatlista tartalmazza.
A játék V 1.1 verzióját a Texas In¬
struments TI99/4R típusú gépere, v 1.2
változatát a HT 1080Z típusú gépére ké¬
szítettem. A C64-re adaptált változat
magán viseli az elődök által meghatáro¬
zott programszerkesztési követelmé¬
nyek nyomait. A program ezért nem te¬
kinthető különösebben optimalizált-
nak, ez azonban nem jelenti a játékszín¬
vonal lényeges romlását, (jgy hiszem,
nemcsak az elektronikus zsugaasztal
mellett lehet eltölteni kellemes perce¬
ket, de a program esetleges optimalizá¬
lásával is, illetve — kihasználva a
C64-esnek az említett elődöknél na¬
gyobb tárkapacitását - a gép stratégi¬
ájának további erősítésével is lehetne
kísérletezni.
O
O
O
O
O
O
O
O
O
O
O
O
O
f L ^€0 # I Hri it-'H.-i '••'1,.^ (f
RM 3 kfri * *
XM 4 r<(-ri !*■: M *
RM 9 hfri «
PF P Ppri * I l:-.i ; .4pvi i tHF8 ' *
gk 7 KpM * S'-ríí FVIP's *
hf-/ 0 * *
TE t ő
Cl'. Idő ►■•Ff'! “ FI iii.'tiS.Zf ITI 0 I KhF'CFiOI tiSDN.
Ű'H IIfi hpinI r 1 4?:■
FH I2fi i-riK'Fő3?Z2 ■ 21 ■ PFí'l = B M. l. ENrvi.JZF'f HTkhPCBOI HS
Ki I ^nuFF.-SZ.. 128: • wFII = áll i..fNi VIIZFT RrKMPC.S0I..RS LEMLrHt:
h,k; 14ii
P.S ISO 2Pfi: • K-Eri = I, IST LFIlt TrtS
xn IFO KririF000.225: : RFfl = RIIH/STOP + RfSTORE I.ft ILl'HS
riC I POKFR I 9 ■ 24F ■ • RFM = SRVE lETILiaS
XQ I 00
.«,M 190 PiXF:S32)-i 0 . f-: P0KES.3281 ■ 8: REfl =• KERET ES t'lEZO SZÍNE
HP 200 :
FFi .1100 FR .1 ti 1 I I 144.).; CHK#c: 1,9 >.; •'>f SPC] I NO “
310 PORI 10)000; NEXT'
EQ 320 P0KF.S32F.8 • PEEKt 83268? HNI.)239; REN = KEFERNVO L.EKRPCSOLfTS
RH 340 F0kF44.)g: EiiKE43.1i PÜKE4096.. 0: CL.R: REf'1 “ BRSJC TERŰI. E't HTKR
PCSni.RSR
EC’ 340
.4E: 400 h'EM - KOVFTKEZO PROORRM HIVRSR
QB 4Ifi R* o:"B"
TP 420 PR INT r:HR«a.4'f':) ;
NX 4.;;0 PRJNT'I..|THD" CHRí<34>Rít; CHR*O4)'08"
PR 440 PR IN I'" 1 liOUN J I' DOWN ] f! DOUH J T JJOWM 3RUN
gH 4.150 POKEt98,4
OX 4E.0 POKEESt.. 1.9
se 4 ,-'0 pnKE6.?2.13; P0KE633.13; Pf3KE634.13
XX 400
O
O
O
O
O
O
O
O
O
o
o
o
o
37
O
ÁRCIÜS
PÁLYÁZAT
o
V.8
1 PEM *Á*lt!i**j*l*A*:!***'*i>lii****i)íX|i|(***i(!Wi***!4!#i*i
O
í;:h
2 RÉM *' ZSl.ROZHS *
o
MM
3 RÉM ♦ •*
O
Ijl f
RÉM !* B *
iK'i
R RÉM * *
o
í-'i.:
fi RÉM * l iSTi ).-1i34?30 LINES ' *
O
HX
? RE
M * "SE.I.L 2634 BVTES if-
S RÉM (* «
Q
9 RE
O
TE
1 0 1
pl?
1ÍSHP
RÉM - .BHStr: 1 ERI.II...E1 EI..LENORZESE
D
CE
1.010
ÍF PEEKi:44> < >16 r'HENQ -l
Cd
1 020
1F PEFKÍ43) < >1 THENQ *1
Q
r:r*l
1,030
).P PEEK'. 4096> < >0 T HENQ =<1
o
l'B
< 0rt0
!FQ =0 THEN2010
BH
1 0S0
pnkffi4fi.. 0
o
TQ
t 0ft0
pnt<;F5:3:?90,2: pnKE.5:32E'i.1 > 2
o
OP
lt?í’0
PR 1 NT CHR*< 147> ; CHRÍ <19);'' ?LOHD t SEC J [SPC JERROR"
BH
1 £’S0
PR INT
o
XP
1090
PR T NT " ) T URH i: SPC J T HE I SPC ] COMPUTER 16PC 3 OFF C SPC 3 HND t SPC 3 ON t SPC .3 H
o
GHJN,. "
o
PB
.1. 1 00
PR.1 NT " )LOPJJr:SPC 3 THE t SPC 3F^ROŰRHMME l SPC3UHICH[ SPC3 16CSPC3CHLLEJJ
o
tSPCTTH),"
KS
1M.0
P0KE12Í1.. 2i : RÉM » KILLER POKE
o
KF
11,20
ENII
o
XH
11 :W
MP
2:000
PEM - KHRHKTFROENERHTOR
o
XS
2010
RÉM —- PHRHMETEREZES
o
MH
2020
JilMlHH)
XP
2030
r:R =.53248 RÉM » KHRHKTER ROM KEZDŐCÍM
o
OQ
2040
Cl.) e2049: 1 : RÉM “ KRRHKTER RRM KEZDŐCÍM
o
GX
20^0
CT ^281Si ■■ ■■ ■■ RÉM »• KHRHKTER HTHELVEZQ KHRHKTER <8HIFT+SPHCE)
kezdőcíme
o
Fim
2060
R0KE53272.. 18
EC
2070
o
EO
.3PÍI00
RÉM — HSCTI <» POKE HTK0D0L.0
o
EK:
301,0
pnpj «=0 TO/i REPDDÍI): NEXTI
PH
3020
DH't H 1 26 .. 032,000.064.191,. 096 . 064 , 096
o
XP
4000
RÉM — KHRHKTER ROM MHSOLHS H RHMBH
o
9G
4010
R0KE56:í34 , 0 : POKE 1.51
MH
4020
FÜRI *0 TO2047 3TEPÖ12
o
KP
4030
: IFI «=1024 thEHP «255
u
BC
4040
! PORT «0 T0511 STEP8
Q
i5R
4050
; priRK «0 T07
o
BX
4060
1 : : POKECU +I +..1 +K. PEEKÍCR +J. +J +K>
CG
4070
: NEXTK
o
CE
4090
1 NEXT.J
o
MM
4090
NEXTI
se
41.00
P =.0
o
co
41 10
FORT =512 T01536 8TEP 1.024
0 '
H.J
4120
: IFI =.1536 THENP »25.5
ex
4130
: POKECW +I +8,P
r\
CJ
SR
4140
: FQR.T .8 T021.6
BE
4150
: 1 POKECU +I +J. PEEK<CR +I +J)
o
OP
4160
: NEXTJ
o
XB
4170
NEXTI
OB
4100
POKE1.55 : P0KE56334.1
0
PD
5000
RÉM — KHRHKTER BEHELVEZE8
o
OX
50.10
REHDH
KCf
50I20
IFfl = -1 THEN6010
o
KF
5030
FOHI -0 T07
o
JjP
5040
: REHDB
o
OS
5050
■■ P0K6CT +T,B
JF
5060
NEXTI
G
B6
5070
8H = INTfH .■••■32):SL “H -6H »!:32
o
PH
5000
P -CU +<rKSH) +SL) *8
o
PS
5090
FORÍ =0 T07
JP
5100
: POKEP +1, PEEK < CT +1)
o
RP
5110
NEXTÍ
O
HC
5120
OOTO5010
EC
6000
RÉM - KO'v'E-TKEZO PROGRHM HJ.'-/HSH
o
PQ
6010
Hí ="0"
o
JM
6020
PR INT CHRÍC 1473.1
D
OC
PRTNT "L0HD" CHRst<34:)H* CHR*<34) " . 6"
D
ririi
fifí4Ci
PR 1 NT C TiQWN 31: DOWN 31.' DOWN 31DOUN 3 RÜN
KG
6050
P0KE198.4
MÁRCIUS
mmurnKk
PÁLYÁZAT
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
ŰQ
6060
CE
6070
MK
6000
PX
1 0000
GR
10010
KR
1 0020
EK’
10030
RC
1 0040
BP
10050
RH
10060
DB
100/0
flP
10000
RR
' 0090
CM
10100
k:K
101 10
P3
10120
PS
) 01 30
HX
1 01 ■(10
.ŰC
1 0 ’ 50
X0
10160
,B3
101/0
ÉR
10(00
HM
10190
.BM
10200
3P
10210
RE
10220
10230
RM
I 0240
RH
10250
DH
10260
FŰ
102/0
MK
10230
HX
10290
ŰF
10300
0M
10310
CM
10320
GH
10330
HF
10340
ED
10350
ŰX
10360
ex
103/0
BJ
10390
ü'R
10390
PX
10400
KK
10410
BO
1 0420
PX
10430
Oű
10440
^■■'0KE63.1.. 19
P0Ke6.32.). 3: HnKE633,13: P0KE634,13
RÉM - ÜJ KRR3KTEREK HDRTfl).
ÜRTHRt ; RÉM * HSC; t
OTIReií'4, 126,259,256,2515,000, 126,024
):i«TR92: RÉM ■■ RSC £
iw r fi036,060,060,126,255,254,002,024
);/0Tfl93: rém =« ftSC 3
).iHT«024,060,060,060,060,126,024,012
11RTR94; rém =« RSC t
9RTR066,231,255,256,126,060,024,000
rrRTR95: RÉM •= RSC -i-
riRTR04e, 032,096,211,212,210,241,214
IIHTR35; rém a RSC *
DAT R012, 0Pje, 060, i02, 1,02.126, 102.000
IjRTH36: RÉM = RSC í
J)RTR0)2,000, 126, 112, 124,112, 126,000
ŰRT637: RÉM » RSC X
ŰRTR012,008,060,024,024,024,860,000
ŰRTR38: RÉM «s RSC A
ŰRTR01 a000, 060,102,102,102,060,000
ŰR7R39: RÉM *■ RSC '
rtR7>1064,000.060,102, 102,102,060, 000
)JRTR42: RÉM * RSC *
ŰRTfi010,020,060,102,102,102,060,000
1(81043: RÉM = R3C +
,DR1 R012,000,102,102,102,102,060,000
ÜRTR60: RÉM = RSC <
.TJBTR054,000, 102, 102, 102, 102.(060,000
ŰRTR61: RÉM = RSC “
ŰHTR010,020,000., 102, 102, 102,060,000
ŰRTR62: RÉM = RSC >
ŰRIR060,066,163,161,161,163,066,060
rjRTR64; RÉM = RSC «
ŰRTR030,096,111,096,111,096,030,000
ŰRTR--1
O
O
O
O
O
O
O
O
O
O
O
O
O
ü
O
O
O
1 R
J i't; rflii A. iC: ri: íV
5> y*: ^ r*: /(t*; :4>; K ^
0
;;sJ
y'
PO/hS 3 K
J y-
■.M
i(*r
►-'m;
•4. ►«;' (''’l
o
:»r''
6 R
>■ r-í 1 )• :
'JMES ^
0
XK
.,(■1
vf-Cf «!• .iccíi:
* t*.;:r.P0 tV'* 1
• (y
yt‘\ A
/•>'
o
TC
i íjjil
HM
! '•’fi
CHP#-' 1.(J.7'
o
H*.
’ ■' 0
PpMI..Pi ÉIJ..EN0R2FSE
'
n. ,jj.i , <: > 1 ,;, i hEHC =1
.T(-
■
! S- 1 c.;
1 'HEWi:í =1
'
1 k, U't; 1 cJ, (.“i'-lM '»
>0 IHEMQ =1
o
-.ly*
' 50
1Q =0
''B
>■(■■(KE-.46.0
0
> .-'VÍ'
P''''kE5r:í2'“:0, 2 : P'''
KE53291■2
11^3
pR.'N ! CHRi:' I47.(
i. Hh:íC 195: "?LGR.I|(:SPC'
TP
1 Víi
Pf-T N -
(HP c SPC :■ COMPUTER i: bpc :
o
H/l
■•-■R 1 Hl “ :■ f 1'"ÍMI r-lPl.:
O
R'N. '■
n*-' 2'0 .i:NI " I, (■ (H).) I SPC,1 THECSRC 1 PROüRRMME C. SPC3UH 1CHI. SPC3 ISCSPC3CRLLE.Ű
I SPí ;1' h ;i . "
O
o
o
o
o
o
o
o
o
39
MÁRCIUS
o
PÁLYÁZAT
o
OK
229
‘^PiM£5.3:265 ■ EEEE'::5:3265) 0K:16
0
229
EGKEl20.2
0
''■1E
2‘i9
EOI'
0
iíH
259
399
01 E
o
3 1 0
‘■■■K’MI r:HK:ti.:i4V':'
0
OÍ'M
Enpl =631 TO640: EOKE1.0: NEXT
co
3S0
EOh:E5:3265. pecj:, ,:;g32E;“.:j nRl6
o
EG
3‘S0
0
RE
400
n 1 MM < M, o 1, i; 4 >( :í 25 ■; 4 > í K K 4.).. K2íE < 4)p ( 32 T; Sí < 24 ')
o
XE
4 1 0
XI =4:x2 .=X;I. : : . : X3 =00 • X4 =21 :X5 =03'■ X6 =23= : 0X7 =X6 •• :
0
E3
430
VI =::4; V2 =V1 ■1-25-V.S =17:V4 =00: V5 =15:V6 =V2 +\'V7 =V1
+ 1;
TE
430
l'X --1 000
o
XE
P»
441'''
450
Mij S20 : M(; Si0
0
OS
500
HI,,| =54272:111 =90; SÍ =7
o
HX
5t0
EQPI =0 T':'24; P0K6HW ■i'J...0; NEXTI
0
Mf-I
520
pnkEHW •■H32..000: POKEHM +83.. 000; POKEHIJ +05,114; POKEHW
+06.243
530
POKEHi.i +24,01.5
o
EJT
540
0
Eh
600
P) ai :3. p;? =13;P3 =0
o
:5X
6)0
POKE53230.. P1 : P0l<6532e 1.. P2 •• P0KE646, P3
0
MM
620
►-M
630
00SU:B5 1010; REr'1-:>K0S20N 10
o
'-'.J
640
li-Oí ="i:SE01" TMEM OOS1)B52010
0
OR
650
Pl =12;P2 =1 ;p.3 =0:P4 =8:P5 =6;P6 =7;P7 =3
MM
E60
o
rp
Í000
R£M - .ímJEKVEZERLES
0
EX
1010
DOSUB10010; REM-.>BEveZET£S
o
CS
1020
B =0
SB
1030
IFI.IP =1 rHEMi200
0
QS
1040
OOSUBl1010; REM->LftPOSZTRS
o
.ÜB
1.050
GnsUBl20i0; REM-OKEZl LEiP KlJRTSZPSfl
0
BM
1060
KR =1
KM
10?0
OOS'1Bl:3010; ReH~;>Kü2EPMEZ0 RPUZOLRS
o
M
1080
OriSL'B140l.0; RFM~>B GÉP ERTEKES LRPJRI
0
ITIT
1090
OMIKI ( 0 ) > OOSUS15010.. 15010.. 15010.. 16010^ 15010.. 15010. 1-5010.1601
0; REM-OVROHSZOHí
o
JE
1 1.00
OOS''613010; REM->K0ZEPHE20 RRJZOLRS
0
E.T
1 1 1 0
IFhíB::' =1 1HFN1160
o
99
1.120
1ER(B.) =H<1) IHE111160
HH
1 130
00811816010: REH-->KEZ VISZI
0
QE
1 1
lE'VK > 31 . iME1'1370
OK
1150
001'0 1 0.40
0
vJ
MC
.1160
GOSUB2001 0 ■■ REM-X OVHB.BÜTES VIZSORLRTfl
>íX
11 F9
IFTK >0 1HEM1050
o
,TF
.' 180
OOS'1819010; REM->GEP VISZI
0
RE
1190
(PVK >31 THEH137a
ITE
1.200
GÜSUB11010 ; REt-1->LRP0SZTRS
o
SS
12.1.0
OOSIIB14010: REr't--.>R OEP ERTEKES LRPJRI
0 '
SE
1220
0080621010; REr'l->OEPI KEZDES
EO
1230
OOS' 'B1:3010 ; REM->Ki;iZEPMEZO RRJZOLRS
0
o
PF
1240
0080612010; REM->KE21 LRP KIJRTSZRSR
SO
1250
KR =1
o
K3
1260
00:3UB 1 301 0 : REn->K02EPME20 RRJZOLRS
0
pj
1270
IEhCB) =1 THEN1290
jp
1200
lEP'BT < >0(1) THEH1170
o
PK
1 290
OOSIJ6220I0: R£t'l->S2RBRD VRLRSZTHS
0
SR
1300
IFTO >0 TMEO1320
o
MO
1310
00101130
HM
1 320
OOSO6130I0: REf'1->l<0ZEEl'1EZ0 RRJZOLRS
0
JP
1330
GOSU812010; REM->KE2I LRP KIJRTSZRSR
o
JO
1 340
KR =1
ee
1350
00S1 iB 130 1 0; REM-OKOZEPIJEZÜ RRJZOLRS
0
j'j
1:360
GOTO 1 270
o
pp
1370
OOSM8230'0- REM~>PRRTI ERJEKELES
0
XE
1:380
00101010
EM
1:390
EOJi
0
P.,T
1400
0
E.Ö
IP0CT0 SEM ... BEVEZEIES
PE
•0010 E0P1 ==1 1032
o
HO
1002
3 :E<J) =I
0
í:í*"í
10030 HPX»I
o
MB
10040 PP =:32;'^K =32
0
PQ
JI'R
10050 EOKE5:.32e0.. Pl: i^'OKESaxei ■ P2 : P0KE646 jP3
10050 X =05 :V =39: OOS'IB40010; PRIHT"0''
40
MÁRCIUS
PÁLYÁZAT
&
Ü
PS
1 00 ,''0
X = 09 : : : : : : OOSUB400.'0 : PR1NT"UI"
0
JO
J. 0G80
X==13::::.: OnSUB40010: PRIHT"E"
0
HP
?.t'' 0 S '0
X= 17 ::::,: 0001.1840010: PRJHT"R"
TH
KK
.1 0 1 00
<01 10
RET'JRH
0
Pl
HS
t 1. 000
RPH ~ LflPOSZTHS
0
RM
11.010
L '= 101X32 i* RN.Üf.0).:’ +1
KK
11020
IPPP <1 THEN RETURN
Q
EH
t 10 W
IPP'.:!.;- <0 rHEHii 0 i 0
0
PQ
í 1 G40
: :
0X
1 1050
JPÜK =1 rHEHli24@
O
ÜB
11060
priRi =1 104
0
CJJ
11070
: 1P01<1) >0 THEN11220
PH
11080
: 0 “P < L
o
SD
1 1 090
: OOSIJ,B30010
0
RB
1 1 1 00
:01(I> =Ql:02fX,I> =Q:í:
o
EH
11110
:Pi;L) = ~1
KS
11120
■pp =pp -1
(J
PQ
11130
: p':tKE64e,P4
o
JJ
11140
:x =I *X1 +0:V ='71: ÖOSÜB40010: PRINT"iSBI!«S«"
0
BB
1 1 150
:X *=.í «X1 + 1 ;::::: OOSUB40010; PRIHT"«l5»^^«r
FX
11 160
:X =I *X1 GOSUB40010: PRINT"
o
HP
36
11170
11180
:x =X3:v =V3; OOSUB40010: PRINT" CSPCKSPCHSPC1"
0
KB
RP
11190
11 200
o
: ÜK =■ 1
0
XK
11210
: GOTO!1020
o
PQ
11220
NEXTI
ÖJ
11230
RE1URH
L/
HE
11240
FÜRT =1 TQ4
o
HE
11250
: .ÍFKICD >0 THEN 11400
0
PQ
11260
•Q =P(L)
RO
11270
: ÜO8UB30010
o
KS
11260
•'Kia> =üi:K2í(;i) =0*
0
3F
11290
:P':L> = -1
JB
11300
;PP =PP -1
0
o
ÖH
11310
: P0KE646,P5
Sü
11320
:x =I ♦X2 +0:V =V2: OOSUB40010: PRINT'T ' 1"
o
fcPi
1 i 33l7i
:X i*X2 + 1 ::;::: 13080840010: PRINT"! CSPCJLSPCli'SPOirSPOl r
0
(jilj
11 .340
.V ~.1 *X1 4.2::;::: OOSOB40010; PPIMT"!.í"
ÜK'
! ■< .350
•X =1. i'*'X2 +l:V =V2 +ii : GOSUB40010: PRINTK2*a.>
o
JB
11360
:X =X3:V --íVS- GÜSI..IB40010: PRINT " CSPCI tSPCl tSPC ] "
0
HE
11370
;x ==Xj: : • : : : GOSUB40010: PRIHTPP
PR
11380
: OK =0
o
HX
1139t'
■ 00)011020
0
HK
1 1 400
NEX 1 f
o
Q
*
1 '410
1 1420
RE1' !RN
0
PE
12000
RPH - KÉZI LHP K'IJHTSZHSH
o
RE
j;iP
12010
12020
B =B +1
P0KE646.. P3
0 '
KS
12030
X =X4:V =V4; OOSI.IB400)0: PRlNT" CSPC3 CSPCl t SPC3 CSPC J CSPC1
o
!.: spc . 1 1 s‘^c 1 c SRC11: spc j r: spc . 1 1 spc i c spc i c spc j l spc j t spc k spc 3 i; spc ]
1 ; SPC i 1 : SPC 11 SPC 11 .: SPC 1 c spc 1 c spc 3 c spc i c spc i c spc j í: spc i c spc ic spc 1
).: sp-c -j r. spc 11 : spc 11 spc j í: spc j c spc 1 c spc 1 c spc 11 spc i c spc i c spc 1 "
0
o
£C
12040
X ==:X4 :::::: OOSOB40010: PR 1. NT " [ SPC J C SPC 3 C SPC 1 C SPC .1 [ SPC 31 SPC J
i: SPC 1 c SPC 11 : spc j i: spc i t spc i c spc 31: spc j í spc j i: spc 3 c spc i -■ n i spc 3
0
o
KR
1 2050
i; SPC .1J '■ N! i: SPC 3 C spc 3 r: spc 3 C spc 3 C spc 3 L spc 3 £ SPC 3 C SPC 3 £ SPC 3 £ SPC 3
í; SPC 3 £ SPC 3 £ SPC 3 £ SPC 3 £ SPC 3 "
0
o
HX
1
P'OKEHW +65,009: POKGHUI + 06 ,.009
0
BJ
1 2070
POKENW + 0 1,058 ! POKEHW , 130
I)F
1 2080
POKEHW +04,017: FÜRI =1 TOMI *2! NEXTI
o
Pfi
.' 2090
PÜKEHM +04,016: FÜRI =■! TOHI: NEXTI
G
PQ
1 21 fl0
POKEHW +01,029 : POKEHW.. 069
o
QP
12110
POKEHW +04,017: PORI =1 TOHI i*2 : NEXTI
0
HS
12120
POKEHW +04,016! FORI =1 TOHI: NEXTI
08
12130
POKEHW +05.. 114: POKEHW +06.243
o
jjp
í 2 1 40
0
ME
12150
GETOí:
PX
121 60
Tprj* ="" THEN12150
o
SG
12170
H =0
0
RR
12180
IPRí ="(:í" thenh *1
o
HP
12190
IKR* ="W" THENH =2
QC
12200
J.FGíC- ="E" THENH =3
0
X0
12210
TFRÍ ="R" thenh =4
EK
t 00:>ci
.'PH =0 THEN12150
41
MÁRCIUS
PÁLYÁZAT
o
i;;P
J223G
•l
FTK =0 THEN12290
O
K.U
'2240
RÉM —■ REMflMSZ ELLENI VEBEL.EM
0
PS
' 2250
lEXKlCM;. < >8(1>:) RNIKKKHI < >0 THENH -0
O
pc
1 2260
rpu =0 TMi£rü2150
PH
12270
PEt'! ---
o
PR
1.2200
O
HJ
12290
"'KUH) <1 THEN12150
'2300
).0;i
O
o
HH
12310
=W 4X2 H?:',' =V2: GÚS.1B40010: PR 1 NT " 1 SPC 3 [ SPC 31 SPC IC SPC 3
' SPLjispei"
o
HB
12320
X
=M *X2 -Fi:::::: GOSÜB400I0: PR I NT " l SPC 3 L SPC 3 1 SPC 3 L SPC 3
ISPCTISPCJ"
HX
12330
K
=M *iX2 +2:::::: GOSNB40@10': PRIHT" (;SÍ='C.3 CSPC3 tSPC3 ISPC]
o
i.:5pc.h:spcj"
o
HP
1 2340
X
=,K4;V =V4: üOSUB40ei0: PR INT " i:SPC3 LSf'CJ tSPCJ i;SPC3 ISPC]
0
'■ SPL :i i: spc 11: spc j i src 1 1; spc j i: src ] c spc 1 1: spc ] t spc i í spc d y. spc j i; spc i
t SPC ;i 1 SPC 11 ; spc ;i t spc ;i c spc :) [ spc ;i t spc i i; spc ] r. spc ? í spc i c spc i i spc i
i; SPC ;i í SPC :i c SPC11 ; spc i í spc 1 1 : spc i c spc j i; spc j tspc j í spc 1 1 : spc i"
o
ÜB
12350
K
(H) =0
o
o
PB
!,23e0
iKlC' =Kí<0;i
Pl?
12370
n:B <2 1HEN RFIURN
o
kM
12380
K,(0> =hí;))
o
í<r:
12390
REÍNRN
KK
' 2400
o
RK
13000
PEM KOZEPMEZO R8JZ0L.MS
o
p.J
13010
X
=X5 *2 i4B:V =V5: GOSUB40010
es
13020
ti-kr =0 THEN P0KE646,P4: PRINTBl " tLEFT J . CSPC] " .Nj2*(P> : GKF>
o
0
sr
oioKíCp;' ="i::sPC3"
0
PH
13030
(FXR ==1 THEN P0KE646.P5: PRINTB.; " tLEFT 3 . tSPCJ " 1 K2it;(:H > : KI IH.)
=01 K2*<'-i> ="i:SPC3"
Bíí
13040
o
GX
13050
pk; =(^k -1
o
GH
13060
KR =0
o
SP
13070
RETURH
C'P
13080
0
RÜ
14000
RÉM - H GÉP ERIEKES LRPJHI
0
Tim
14010
HP =0:rZ =01RS =0
MJ
14020
f-
ORt =1 104
o
o
KS
' 4030
rFGl<T:' =1 THENHE =HE +1
HQ
' 4040
.IFGia ;' =4 THEWTZ =TZ +1
o
pp
14050
IFGI'III =0 THENRS =RS +1
o
EÜ
14060
MExri
yM
1 40 •■■0
RE lURN
14080
o
nj
15000
RÉM - H GÉP VR1..RSZR ERTEKVELEN LRPRfl
KQ
15010
F0RP =1 '104
o
KJ
15020
iFOif'F) < >K1(0> TMEH 15050
o
BP
15030
GOSUS17010
BP
15040
RE NJRN
o
o
!<r'l
15050
NEXTF
HP
15060
FfiRF =1 !ri4
BS
15070
ON / G 1 c F) .1-1) GOTO 15100,15100,15080,15080..15100,15080,15080
o
o
. I
5080,15100
P^i
15080
003111:17010
o
GH
15090
RE'ORN
o
PE
15100
NEXTF
KE
15110
FQPF =1 104
o
BX
15120
iFOi-rF,:. < >1 rHEN15i50
o
JC
15130
O':iSUB17010
KB
15140
RE'URH
o
RP
15150
NEX'IP
o
HP
15160
i'iNC i'Z +11 001015240, 15170,15180, 15180, 15240
o
ÜX
15170
e2 =4: GO'015190
G
BG
15180
F2 =8
FC
15190
FOPF =1 104
o
TS
15200
lFOl'3-3 < >E2 THEN 16230
o
HS
15210
00SUB17010
co
15220
retiirn
o
JR
15230
MEX'-P
o
B'?
15240
F = INI '.:4 * RND<0>> +•'
Xft
15250
tfgu:F) =0 -^HEN15240
o
KM
15260
GOS'JBl 7010
o
BR
15270
RCTIJRN
o
RE
15280
o
se
16000
RFH - R GÉP VRLfiSZrt ERTEKES Lf'PRR
MD
16010
IPKl-rO) <: >4 THENEl =RS:E2 =81 GOTO 16030
MÁRciÜs j12
PÁLYÁZAT
o
xc
1.6020
E» =tz::F2 =4
O
K'fi
.1.6030
IFB < =1 I'HEHEI =3
o
PS
16040
iF-pi; < =9 THEHEI =3
BR
16050
o
fip
16060
J.FE1 <3 IHEW16i2e
BJ
16070
FORF =' T04
U
CB
16080
iFGKP> < >E2 THEN16110
o
HB
16090
GOSUB17010
o
SM
16100
REMIRN
0
EP
16110
HEXIF
HB
16120
IP (El -T-HE) <3 THEH16180
o
BP
16130
PORF =1 rru
o
PE
16140
TF'G1(F> < >1 THEN16r70
o
cc
16150
GOS'..IB17010
PB
16160
RFTMRN
o
BH
16170
WEXTF
o
FB
16180
FORF =I 104
BX
16190
ON C 01 F > +1 > GOTO 16220,16220.. 16200.16200 /16220,1620016200
. 16200.. 16220
o
MQ
16200
GOS'J.B17010
o
MTI
16210
RFTURN
hC
16220
NEXTF
o
PX
16230
F = iHT.::4 * RHDCO):) +1
o
4);'
.1 624.0
:
kGIii^:? =0 THEM 16230
o
BH
16250
ROSUSI7010
o
pr:
16260
réti irn
16270
o
BK
1 7000
RÉM -- GÉP! KIJHTSZRSR 82 '’R'' TÖMBBE
o
HE
17010
.B =B .* ■1
PR
17020
R<B) -G1(F>
o
kQ
17030
FORl =:1 TOTX: NEXri
o
PM
17040
X =F «xi T-O:'/ =Vl: GO8UB400I0; PR INT " 1SPC3 CSPC] CSPC JISPC1
1
:PCT ISPCT "
o
KF
1 7050
; r::F ^íxi -Rl : : : : : : OOSUB400I0: PR I NT'O: SPC II SPC 3 I SPC 3 C SPC 3
o
EG
17060
1. SF'CI ISPCl"
X =F *xi +2— — - OŰEilJ.B40010 PRJ.NT"l..yPCD[SPOllSPCII.yPC.)
o
o
CGpc’isPc:]"
OX
17070
RE T I IRN
o
R-C
17080
BK
10000
RFM -■ KÉZ VISZI
BK
' Rfl 11~1
FORT =1 rOTX; NEX'I
o
HS
1 8020
PORI =1 T016
o
KM
18030
X =X5 tl:V =V5: GnsUB40010: PRINT" CSPC3 i:3PC3 !.:SPC3 CSPC] CSPC3
1 spc IT spc 11 : spc :? i spc ]'■
o
PX
18040
NEXTI
0
E.T
18050
FORl =1 TO0
o
BB
18060
iFRCl) =4 3HENKP “KP +1
ó
KTi
18070
!Fm(I) =9 TMENKF “KP -M
BP
NEX'1 T
o
XH
18090
fORI =1 T08
OS
18100
IFRtI) >0 I'HENVK =VK +1
EE
18110
R<I.:' “0
o
QM
18120
NEXT 1
o
EE
18130
P0KFE46,P5
o
PM
18140
X =X6:V =V6- GOSUB40010; PRINT"tSPCICSPCICSPCJ "
PC
18150
>
< =K€-'---- GOSUB40010: PRINTKP *10
o
El"'
1 01 60
:s =kS *1- TFVK “32 THENVK =34
o
RF
10170
B =0;1O =0:TK =0:nK =I
o
.TF
10180
RET'JRN
KB
18190
o
PK
19000
RÉM - OEP VISZI
o
KJ
19010
FORl =1 TOTX: HEXTI
pH
19020
FÓR) =1 T016
o
HR
19030
X “X.5 TTrv “V5: 00808400)0: PRINT" tSPCJ CSPC] CSPC3 CSPC3 ISPCl
o
I' spc :i r spc 1 1 ; spc 11: spc i"
o
BQ
19040
NEXTÍ
MM
19050
FORl =1 TOR
o
MO
1 9060
;iFrt.::i;) .“4 thenOP “GP +1
o
pr.i
19070
ii-Rdl' “8 THENGP “GP +l
o
K.J
19080
NExri
BG
19090
Füri = 1 tor
o
ex
19100
IFmCO >0 THENVK =VK +I
o
HM
19110
’ > -=*!?
19120
►
TExn
o
FR
19130
P0KE646.. P4
o
RE
.1 9 1 40
X =X7;R =V7. GOSUB4001@: PRINT"tSPCJi:SPC3i;SPCI"
BP
19150
=X7: : : : : : GOSUB40010: PRINTOP *10
PÁLYÁZAT
;<S
t9l60
GS =GS +l; =32 IHENVK =33
^'C
1.9170
p :=0:TG = 0 : rK =0: OK =0
o
HP
1.9160
RETiJRN
O
, 0 B
19190
FK
20000
RFH - TOVGBBUTES V1 ZSGFli.,PTfl
o
RC
20010
P0KE646.. P3
O
CF
20020
PQRM =1 104
r'i
MB
200 50
. iPKlCH.:- =' tmentk = 1 ; 001020060
ÜJ
200‘10
• IPKIOO =F|.::i> THENTK =1: 007020060
o
se
200 S 0
NEXTH
o
pp
20060
1 K =0
o
CB
20070
FS
20090
IFB =6 THEN20330
0
f:j
20090
tpPK =0 rHEN20330
o
QE
20100
X =X4:V =V4: GOSUB40010; PRTNT"ISPClCSPC3ISPClLSPC?ISPC]
(■ fipc 1 í spc ;i»: SPC11: spc i c spc :i t spc i c spc .t t spc j c spc .i i: spc ;i i; spc ? r: spc i
Ü
' spo 1 r SPC 3 1 : SPC 11: spc 11 spc k spc ] t spc 3 r. spc d l spc i i; spc 1 1 : spc ;i i; spc i
o
1 SPC ] 1 SPC ;i 1 SPC 11 : spc i c spc 3 c spc 3 c spc 1 1: spc 11 spc i c spc 3 1 spc i "
rtli
20110
X =X4:V =V4: OOS'.IB400! 0 ; PRINT" CSPC:! l'SPC 11SPC.1 CSPC] CSPC:'
rSPC ■! r.:SPC 3 í spc 3 l SPC 3 C SPC 3 CSPC3 T0V#BB t SPC3d'1 1 SPC 3 C I /M> ? 1 SPC 3
1 -SPC 3 r SPC.3 CSPC3 1 SPC 3 t SPC 3 C SPC3 C SPC3 1 SPC3 l SPC 3 í SPC3 í SPC 3 "
o
CR
20120
OETG*
o
niR
20130
ÍFGí ="" THEN20120
PQ
20 M 0
lEG* < >"1" THENTK =0: OOTO20330
o
Fy
20150
o
PS
20160
lETK >0 THEN20330
RS
20170
K =:>::4:V =V4: GOSÜB40010: PR I NT " C SPC 3 1 SPC 3 l SPC 31 SPC 31 SPC 3
■ 0
C SPC 31: SPC 31 SPC 3 [ SPC 31 SPC 3 C SPC 3 L SPC .7 f SPC 3 CSPC 31 SPC 31 SPC 3 C SPC 3
o
1. SPC 31 SPC 3 í SPC 3 í SPC 3 C SPC 31 SPC 31 SPC 31! SPC 3 í SPC 3 C SPC 31 SPC 3 í SPC 3
o
[ SPC 3 r SPC 3 >: SPC 3 C SPC 31 SPC 3 r SPC 3 C SPC 3 C SPC 31 SPC 3 C SPC 3 C SPC 3 "
Ci
pp
20180
X =X4 : V =V4 : GOSIJB400 10 : PR I NT '• t SPC3 í SPC 3 CSPC 3 C SPC3 CSPC3
I' SPC 3 SPJNOS [ SPC3 ' NNEK.C SPC 3NI.NCS [ SPC3 <T#l...flP.J81 tSPC3 1 SPC3 CSPC 3
o
tSPC3rSPC3rSPC3"
0
RK
20190
XB
20200
POKEHW +05..000: POKEHIJ +06,000
o
BJ
202’.0
FORT =1 T02
o
KC
20220
; POKEHM +01 ..032: P0KEHU,219
JP
20230
; POKEHIJ +04,. 129 : F0R..T =1 TOHI. #2: NEXTJ
o
GQ
20240
: POKEHI'f +04.. 120: FORJ =1 rom : NEXT.T
o
SP
20250
■ POKEMN + 0 1,016: POKEHW., 109
Q
CO
20260
: POKEHW +04.. 129 : FÜRT =1 TOHI #2: NEXTJ
Q
HX
20270
: POKEHW +04,128: FORJ =1 lUHl : NEXTJ
PC
20280
NEXT (
o
3J
20290
FOKÉ HU +05,114; ROKEHU +06,2'43
o
QE
20300
CJ
20310
FORI =1 lOi'X: NEXri
o
í^fi
20320
0
HE
20330
X =X4:V =,;V4: OOSUB40010; PR IN " rSPCH ISPC 3 ISPC 3ISPC HSPC 3
r SPC 1 1 SPC 3 1 : SPC 7 CSPC 3 1 ; SPC 3 C SPC 31 SPC 31 SPC 31 SPC 31 SPC 31 SPC 31 SPC: 3
r SPC '1 c SPC 3 1 SPC 1 1 : spc 3 1 spc 31 spc 31 spc 31 ; spc 3 1 spc 3 1 : spc j 1 spc 31 spc 3
u
L spc 3 1 : SPC 3 1 : SPC 3 1 SPC 3 CSPC3 1 SPC3 CSPC 3IISPC 3 CSPC 3 lSPC 3 1 SPC3 "
o
P1J
203'^0
RE'URH
o
MK
20350
QX
21000
RÉM- - GÉPI KEZBES
o
P.T
21010
El =TZ:E2 =4
o
RP
21020
FX
21030
lEEl >2 THEW21230
o
KX
21040
TFEl Cl THEN21060
o
JM
21050
IF<E1 +HF) >2 THEN21230
o
FB
21060
IFE2 =8 ■'■HEN21100
MS
21070
El =OS'E2 =8
o
GG
21080
o
PH
21090
GOTO21030
o
21100
FOPF =1 T04
C'P
21110
: ONújI(F > +1> G0T021140,21140,21128,21120,21140,21120,2112©
o
.21120,21149
o
OP
21120
: 00:SUB 17010
PQ
21130
• RETiJRH
o
ny
21140
NEXTP
o
ŰF
21150
IFHS >0 THEN21210
o
21160
IPTZ >0 THEN21190
S.B
21170
E2 =1
u
SS
21190
GnT02i230
o
FF;
21190
E2 =4
o
JS
21200
GOTn21230
CS
21210
IFTZ >1 THEN21190
o
SX
21220
E2 =8
o
Ql MÁRClŰ^ “44
\ ^ .A. .
■ S PALYAZAT 0
CJ
2.1.23V)
PfiRF *1 704
0
M.T
2.l.2--'-0
: It-01(P:> < >62 ■|■HEN^1270
QC
2’250
: 0081.1:317010
O
RF
21260
■ RKTURM
o
BF
21270
0EXIF
MR
21280
p = IMT<4 * RNJiCOj::. ^1
o
fjM
21290
iF-nifP) =0 THE021280
o
fi7'
21 ?00
hHSMPI ,'010
o
.«>'
21 110
FF í 1 i.pN
21. ?20
o
:;-'.?00í.i
RF'-' -■ 37‘'|Ph‘i V>-'LH37íHS
o
í:!-'
.i,;>0'0
kHi-m , :;=H'1;)
o
h:' r
p.iRP =1 0(4
o
IMS
2.Yv^i!V*f
■ 11-0,1, 4 > < K■' < 0 j 11'EN22060
■ 0''*álllr-l 70 1 0
o
n/'
22'3f»0
: 1 0 =■■ 1. : RE 'IJFí" '
o
t?'.
HRK i F
Uh
22íí.''m
'P!.; =,=4 rHEM22090
o
UH
lkKl''0> < '8 iHFMI'Ü =0: RETURU
0
220'-f0
Pf.lR'-- 1 ■ |■;|4
Mrt
22100
: iFPii,,>.j <; -,1 1810122130
o
iI'R
22110
■ 008111117010
• o
22720
:'8-s,:i. REI'IRM
K- U
221 31 ;.,
ppR 1 !■■■
o
H ’
22:1 'KH
■ H =0
0
Eh
22150
RF MIR'-I
o
H r
■■■ÍR
22160
2H0',’0
yCM -.. t:í8i.,-r;| ERIEKtLÉS
0
FH
2.:?010
^.•:lR| Ki HjCX: NÉXTl
0
FS
23020
PÚIN' CHRÍ.A14F.)
o
vJH
2.30:-?0
Ml T”..
kjM
2 Í0''M:1
pfiRI s=0 roí-i
-
o
mH
2 1050
■:5í'1.;- -"l-SPCJ"
o
hC
we:«;t 1
o
sh
2:20 i'H
’PO'' >KP '■HEH24010
o
Cl)
2.'?v.’80
)i-k'P >0'-’ THEM25010
f- 'H
230:90
IPVR =33 li'IEH24@l';?
o
Qö
2:-i 1 00
icyp =34 '■HEW25010
o
MM
2.31 1 0
ek
2^1000
RP'M .. H OEP NVERT
o
f- V
2'^010
P01-:P5-1280 .Pl- r'OKE53281 • P6
o
CK
2^020
r-lH =80 ... l
h:’ 1 7
2'-k030
1401.. =:8 ihemho :=M0 ■♦■I:i8*<0:> = " CSPC71iSfi'Cl tSPC] tSPCl ISPCl
o
- spi . ;i'. spQ '1 1 :81'C :i 1.: spc i r spp i í spc ] c spc 11: spc ] t spc j i: spc 11 spc ikopos;::
' 1 . SRI : .11:8Pf: 11 SP'C 7 CSPC J í SPC J 1 SPC 11)SPC 7 í SPC 71 SPCK SPC71 SPC 7 í SPC 7
o
o
1 S'-*c ::i i;: sí-''": :i i spc .1 r spc 7 "
o
rn
2^0'10
lEKS =0 THENHO =MG +1iiSí:<:0> =" LSPC7 CSPC7 1 SPC 7 [SPC7 CSPC7
o
i; Si-i'C 71 SPC 11;SPf: 7 [ SPC7 [SPC7 [ SPC 7 í SPC 7 [ SPC7 [ SPC 7 LSPC7CSUPRS2!
1 ; SPC ? 1 ::1PC 71 SPC 7 [ SPC 7 C SPC 7 [ SPC 7 [ SPC 7 [ SPC 7 C SPC 7 [ SPC 7 C SPC 7 [ SPC 7
1 ' SPC: 7 1:3PC 7 (.SPC 7 [ SPC 7 "
o
HM
2'i050
1 3 iHT.;5 <1 RHIllO::'+1
o
XR
2‘i060
ICI Ki -IHPIS, ="i:sPC7i;8PC7[SPC7i:SPC7CSPC7[SPC7(:SPC7[SPC7
o
1 ;S^'C7 rSI 'C :i l SPO ::iSC spc 7Ol spc 7..Tl spc 7M [spc 7#C spc 71..C spc 7OCSPC7M
o
1 SPC 7 . 1 SPC: 7 I' SPC7 ( SPC .1 [ SPC71 SPC7 [SPC7 [ SPC 7 [SPC7 CSPC 7 [SPC71 SPC 7
o
kx
,=-1000
1 F ! k 2 f 1 <E1 k■■ i;SFi; 1 f SPC7 [ SPC 11:SPC 7 t :3PC 7 r: SPC 7 [SPC7B1ZQNV
. 1 8PrjE.:':SPC 'NEM' SPC ilSIKERCI.T ' i: SPC. ll SPC 71 SPC 7 [SPC 7 [SPC 71 SPC 7
0
uf)
24080
í oL/r 1 f t "
iu. ^ t ■ 1“ ws^c) y SHc 1 rsí-'C 1 í SPC:í t; spc:] í:spc j í sf-’C i Hnmr,
o
1 sor SFHIMI f t EMTSPC7VOl N8 1 [SPCil [SPC7 [SPC7 [6PC7 [SPC7 [SFiC7
o
i‘:-.oc ' i'sor 1"
o
o
hK
24090
1 k.:-, k 4 rt iEHS?; 11 :> = " [SPC7 1 SPC 7 [3PC7 [ SPC7 [SPC7 C SPC 7 [SPC7 [ SPC 7
1 spi:: :i i spc 7 szpimori- 1 spc 7 hxrem [ spc 7 vhn ., >: spc 7 [ spc 7 [ spc 7 [ spc 7 [ spc ::i
I’SPC 1 [SPP. 71 SPC 7 C SPC 1 [SPC 7 [SPC 7 "
o
o
HP
24 1 00
u. 1 k5 = "HE FSRQ 7fií).JP[ Síi'C7FEL ' LEÓK''ZE(,EBB[ SPC 7 BIZTO
SPC 7 SÍ 01 001,1 "
':'9
241 10
X =06-v =00: OO&1JB40010- PRlNTSÍd)
o
f; 1 •
24120
X kHm: : : : : . 0-1811340010: PR7HrS*(0)
o
H.B
24 1.30
>í Kty:..;.: OOSHB40010: PR 1 NT " [SPC 7 [SP'C 7 [&PC 7 [ SPC 7 [ SPC 7 [SPC 7
• S'-'C 7 [ SPC 7 E2 r [ SPC 7 R [ SPC 7 PRRT 1 T t SPC 7 :í:N t SPC 7 NVERTEM 1 [ SPC 7 [ SPC 7
o
[ SPC 1SI 'C7 [ SPC 7 [ SPC7 [ Sl-'C 7 "
o
■■ÍM;
24 1 40
K =12: ; : ■ : : OOSI.IB400 1 0 : PR INT" CSPC7 [SPC7 [SPC7 [ SPC7 [SPC 7 [SPC7
rSPCl l'SPC 1 l'S‘:'C:i [SPC7R[SPC7Miii:RK*Z*S[SPC]#LLiS1SR : [SPC7 [SPC7 [SPC7
o
o
1' SPC 1 (■ S'='C " [ SPC7 [ SPC 7 [ SPC7 [ SPC 7 [ SPC7 [ SPC 7 "
24150
=-18:..::: O0S(.IB40010: PRI NT " [ SPC 7 [ SPC7 [ SPC7 [SPC7 [ SPC7 [ SPC7
[ SPC .11 SPC :i [ SPC 7 [ SPC 7 [ SPC 7 [ SPC 7 [ SPC 7 C SPC 7 [ SPC 7 "
o
o
PM
2A ' €A
PRINI' SiR*'.MO::- -|■■"[SPC7 1" + strícmk;:-
c
45 “ MÁRCIUS
PÁLYÁZAT
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
Hll
l'J
se
mP
KM
KS
KP
P!l
241 ?'0
2‘» 180
24) 00
24200
24210
25000
25010
25020
25030
RP =0:fjS =0-KP
RPM -> 2EME
(•Or055010
=0:KS =0:OK =0MJP =1 :VK =0
0J 25040
KP 25050
.'ÍJ 250S0
hB 250?0
Bh 25000
KP 25090
flP 25100
PC
fp
BH
251)0
25120
25130
Rk' 25140
SF 25150
RE
HF
.KH
FO
J.B
MR
25160
25170
25160
25190
25200
25210
RÉM — 0 KE2 NVER7
POKE532H0, p 1. P0KE53261P7
r.iK =Mk .1.1
TFkrp =0 'ÍUCNNK e=MK 4t::S:*4:0.) =" t SPC3 CSPC l L'SPCK SPC l CSPC 3
I Spf: 1 f SF'f: 11 PPC1 r SPC 1 l'SPC318PC 3 C SPC3kOPPSZC8PC 3LETTEM I CSPC 3
CSPC31:SPC 3 i;SPC 31:SPC 3 t SPC 3 lSPC 3 C SPC3 t SPC 3 t:SPC 3 CSPC3 í SPC 3 t SPC3 "
(FOS =0 TMENpiK =MK +1-8*10:) ■="csPC3[SPC3i:spc3t:sPL;3[:sPC3
i: sp(;: :i '■ spc31: spc 31spc3 i;spc 31: spc31 spc 3csüpbsz i: spc3leti em i r spc 3
1 S‘'j;3 1 SP'C 3 1 spc 31;spc l CSPC3 i :spc 31 spc 31;spc3 C spc 3 t spc 31SPC 3 "
1 = :p-jt(: 5 i* RMDi0:)> +i
T P r 1 vmehst 11.) = " [SPC31; SPC 3 L SPC3 L SPC31 SPC31:SPC3 CSPC31SPC3
r ppr; 1 n r spc } R t spc 3RC spc 3 r t SPC3U[ SPC3L t SPC 3 # t SPC3 L íí SPC 30í SPC3K
!■ SPC 3 ,1'SF'C 3 r SPC 3 r: spc31:spc 3 [spc 3 CSPC3 i;SPC 3 CSPC 3 C SPC 3 ’■
1F f =2 1HENS* 1 D =" t SPC 3 [ SPC 31 SPC 3 C SPC 31 SPC 3 í SPC 3 C SPC 3 BIZOHV
. i:S‘'''C 3EZ 1 SF'C 3MÉMt SPC 3SIKERCLT' í SPC3 BSPC31SPC 3 CSPC 3 CSPC3 C SPC3
i: SF'C 3 l'SPC 3"
r F I =3 I hENS* 11:) = " r: spc3 í spc 3 LSPC31:spc 31 spc3 C spc 3 r SPC3MflH#T ,
i: SF'C 3 NEMr SFC 3H .13 TEM C SPC3 VOLNR i í SPC3 1 SPC 3 C SPC3 í SPC 3 L SPC 3 C SPC3
L SPC 31; SPC 3"
IFI =4 iHENSílt > -'■! SPC 3 l'SPC 3 [SPC 31 SPC 31: SPC ír SPC H: SPC 3 1 ; SPC 3
rSPí: ’[s^c3rSF3[SPC3SZ0Mi3R+ [SPC3JROVOK, [SPi;:3[SPC3CS^'C3['
I' SF'C 3 [ SFC ] (■ SP'-;: 1 c SPC 31: SPC ■' i: spc 3 [ spc 31 SPC 3"
IFI fMENs* 11) “ [SPC31:SPC 3NEM [SPC 3 p:iiom•: spc: 3fei... ! <: spc i legi': ■■
2F' EBFif Sh-'C )i: S+'C 3NVEREk I í SPC 3 "
=06 Mt' =00: OÜSIJB40010: PRTNrS*'.:i>
K =.00, : : : : eOSUB40010: pR(HTSí:10>
K =10:;:.:: |■3O3I3B400 10 : PR 1 H'T'" í SPC 3 [SPC 31;SPC3 [ SPi;: 3 [ SPC 3 [ SPC 3
[SFC3 ':SPC3EZTrSPC3tHrSPe3PRRírrrSPC3 ''NlSPi;: JNVER l'E I [SPC3 rSPCJ
C;P|-- ^ (• gpi". , i; gpf. 1 r gpQ ;;| gpf; j |- gpQ 3 .1
X = i 2 : : : : : : 0nSMB40010: PR J N T " [ SPC 3 [ SPC 3 [ SF'C 3 [ SPC 3 [SPC 3 1. SPC 3
l'SPC3 r SPC:) I'SPC3 [SPC3H[SPC3M:it:RK)HZS3[SPC3*tU_.#SH : [SPC3 [ SPC3 [SPC:)
>' SPC 3 [ SPC 3 r SPC 3 1 ; SPC 3 [ SPC 3 [ SPC 3 [ SPC 3 [ SPC 3 "
X =(6: : : : •: GOSUB40010: PR1N T"[SPC3 L SPC 3[SPC 3[SPC 3[SPC 3[SPC 3
[SF'C 3 ' SPC3 [ SPC 3 [SPC3 [SPC3 [ SPC 3 [SPC3 [ SPC 3 [SPC3 "
PRÍM''' SI'RÍIMO:) +"[SPC3:'' + STRílMK.)
OP =0:GS =0:K:P =0:KS =0: OK =1:ÜP =0: VK =0
RFM
OOTfi
!ENE
)5010
GK
•30000
RÉM -
LRF f+TKOTiOLHS
kM
30010
02
: fin
“Q2
9 * JN'í tQ2 +1
XH
:30020
IF02
/8
>0 THENQ:*: ="['■
0F-
30030
1F02
/3
>1 THENO* <="£"
QM
30040
IF'02
/8
>2 THENO*: ="3"
PK
30050
IF02
/s
>3 TMEHOí ="t"
CS
30060
IFQI
= 1
rMEN0:f
=oí +"[SPc;:t[SPC37"
913
30070
IFOl
“dl
■IHENO*
=0* +"[SPC3[SPr:30"
SH
30060
iFy).
“3
'ÍMENO.-*:
=Q* +‘’[SPC3[SPC39"
XC
30090
IFO)
=4
THENO#
=0* +"CSPC310''
MC
30100
IFQI
=.*fi
T'HENQ*
=0* +"CSPC3[SFC3R"
PS
30110
IFOl
THENOÍ
=0* +"[SPC3[SPC3F"
B9
30120
[FOl
TMEHO#
=0* +"[SPC3i;SPC3K"
09
30130
IFOl
=8
T'HENO:*
=0* +"LSPC3CSPC3i-"
EB
30140
RE'l'l.lRN
GM
30150
A program további részét
(köszöntő, képernyőszöveg,
zene) — mivel a működés
megértéséhez nem elenged¬
hetetlenül szükséges — ter¬
jedelmi okból nem tudjuk
közölni. A teljes program a
Pötyögőszolgálattól megren¬
delhető.
MM
QR
40000
40010
RK 40020
OS 40030
BK 40040
PB 40050
XX 40060
•Xíü 40070
RÉM - rRSR POZICIONRLflS
X* ='' [ BOl'IN 3 [ liOUH 3 [ D0l'.!N 3 [ BOWN 3 CDOWN3 [ J30WH 3 [ llOWN 3 [ ;O0WH3 [ DOWN 3
I' IJOL'N T [ DOWN3 1 TinwN 31BOWN3 [ I3ÜWN 3 [ DOWN3 [DOWN3 [ DOWN 3 1 .DOWH 3 [DOWN 3
[ DliiWN ,3 [ DOWN } [ I'OWN 3 C DOWN 3 C DOWN 3 "
V* = " !' R1 OH')' 3 [RIOH'i- 3 [RI.GH1'3 CR!GHT 3 CRIÜHT ] t RIOHT' 3 [ R J.GH')' 3
r R T CM'!' 3 r R t OMT 3 [R3 GH'f' 3 CR J.GHT 3 [R10H3' 3 CRI ONT 3 [R10H3 3 [RI GH'l' 3
r R! RMr ] r R),RHT1 [R1 GHT 3 [ RIOHT3 [ RIGH T3 [ RI. GHT 3 [RI GHT3 [RIGH'l' 3
r R i RHT 3 IRT GHT 3 [ R . 1 : GHT 3 [ R l GHT 3 [ RIGH3' 3 [ R1 OHT 3 [ R .1 GHT 3 [ RI GHT 3
[R T RW'i 3 [R .1 GHT 3 [ RIGHT 3 [RI OHT 3 [RIGHT3 [ R1 GHT 3 C RIGHT3 [R J.GHT }
[RIONT3"
X-í == M ÍDSlXí:.. 1 .X)
Ví = MIDÍIV:*:. ! ,Vi
Xí ="CHnME3" +X* +V*
PR:[NrX3:,.
RETIJRN
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
o
o
o
o
o
o
o
o
o
o
266
■F4
91/ 3
Tape-disc copy
90.-
267
C64
91/ 3
BASIC rearranger
40.-
268
C64
91/ 3
BASIC decompactor
40.-
269
C64
91/ 3
BASIC merger
40.-
270
C64
91/ 3
SEIKOSHA
60.-
271
C64
91/ 3
Cartridge szimuláció
100.-
272
+4
91/ 3
Sally kuicsszóksresö
40.-
273
■^4
91/ 3
Merge C-f-4
60.-
274
C128
91/ 4
1.5 MHz-es C64
80.-
275
C64
91/ 4
Morze - H
60.-
276
C64
91/ 4
tipr í 111-
40,-
277
C64
91/ 4
ASCII - CHR$
40.-
278
C64
91/ 5
Rendező
60.-
279
C64
91/ 5
Keretbeiro
50.-
280
C64 +4
91/ 5
NLQ Prínt
50.-
261
C64
91/ 5
FLD
40.-
282
C64
91/ 5
Raster Split
40.-
283
+4
91/ 6
ProgramnyiIvantartó
60.-
284
C64
91/ 6
Regiszter
50.-
285
C64
91/ 6
Digitalizált zene
40.-
286
C64
91/ 6
Ékezetes HPS 802
60.-
287
C64
91/ 7
•Ékezetes iratkeszitö
80.-
288
•^4
91/ 7
Bűvös téglalap
80.-
269
C64
91/ 7
Dominó - H
80 .-
290
C64
91/ 7
Raktáros
60.-
291
1-4
91/ 7
Tologató
50.-
292
C64
91/ 7
Aren 2000
40.-
293
C64
91/ 7
Bad Lamps
60.-
294
C64
91/ 7
Operatíon Patriot
40.-
295
+4
91/ 7
Mozaik - B
70.-
296
*4
91/ 7
Logi Kód
50.-
297
C64
92/ 1
Databevivö
40.-
298
+4
91/ 7
Bőmber
40.-
299
+4
91/ 7
Dominó - K
40.-
300
+4
91/ 7
The Wall
30.-
301
C64
91/ 7
Mozaik - K
40.-
302
+4
91/ 7
Dominó - R
50.-
303
+4
91/ 7
*Borgok Kincse
150.-
304
+4
91/ 7
Asteroids
50.-
305
C64
91/ 9
Ékezetes Irat forrás
30
306
C64
91/ 9
Yugo2
40.-
307
C64
91/ 9
Adventure - Sz
100.-
308
C64
91/ 9
Morze Oktató B.
100.-
309
+4
91/ 9
Memory Game Plus
60.-
310
C64
91/ 9
*Capitaly
100.-
311
C64
91/ 9
•Gengszterek
50.-
312
C64
91/ 9
•Küldetés 2000
80.-
313
C64
91/ 9
Itt a $ hol a $
40.-
314
C64
91/ 9
Hewing
40.-
315
+4
91/10
Mikrobí
40.-
316
■F4
91/10
Nest ot Fleas
150.-
317
+4
91/10
Adventure - F
60.-
318
+4
91/10
A világ szeme
120.-
319
C64
91/10
Gondolk026
80.-
320
CÓ4
9J/J0
MejTiríj-1 - H
1 .10.-
321
+4
yi/iO
MaLwkaately
100.-
32:;
f:ó4
91/11
Lottó
80.-
323
C64
9l/ii
Totó
80.-
324
Cb4
41/11
Neiíiet oy.ikorlo
60.-
325
i4
91/11
fteszeló szótár
1 3(1. -
326
+4
91/11
Fi le examiney
dO . -
327
C64
•Jl/V 1
fjprito Hzeikes-zio
50.-
328
<'64
91/.U
FgYSZimi ÍSprite
50.-
^^9
C64
yi/:.-
RíjleLt >avitds
50.-
330
C64
<1 1 / 1 2
Tőzsde
130.-
331
C64
91/12
IQ teszt
150.-
332
C64
42/ 1
Ka 1 and 1ap
80. -
333
<164
92/ l
l.eve 11 ro
80.-
334
Ch4
42/ i
Képei nyr-maszkoi o
1 fO. -
335
C64
42/ l
Spi I Le Keze 1 o
100.-
336
Cei4
92/ i
SÍ - OFART
40.-
337
Ci>4
92/ 2
Patience Qoartet
130.-
338
C64
42/ ;>
Monopoiy
130.-
.139
C64
42/ 2
Akasztói a
80 . -
340
i;o4
92/ 2
Kai aktortprv'*zo
t)ij .-
341
L’64
92/ ^
Srring Array Manager
100 .-
342
064
92/ 3
Sprit<^ Basic
50.-
.143
C64
92/ 3
Bcreen Help
50
344
C64
92/ -i
Gyors validate
60.-
345
i;64
92/ 3
bASIC SYKTAXEH I.
19Ü. -
340
C64
92/ 4
Tologató ir64-re
■J 00. -
347
l'04
92/ 4
ABC rendező
TOO.-
346
C64
92/ 5
•Mátok * Romai szamok
100.-
•149
■*■4
92/ 6
Tesztkeszitó •► ertekeló
100.-
350
(.‘64
92/ 3
BASIC SYNTAXER 11.
i9u . -
351
■•■4
92/ 7
Három játék
110.-
352
4 4
92/ 7
Szökés
ÖO .-
353
C64
92/ 7
Toto
150.-
354
C64
92/ 7
ÜIGIT analízis program
IIO.-
.355
•»4
92/ 7
SCREEN DUMP
IbO.-
356
C64
92/ 9
UNlSEQ t11okeze .o
130 .-
357
C64
92/ 9
Graphic Copy
60
358
c'64
92/10
Printtóx Resizer
130.-
359
C+4
92/11
Tólogato l1.
150.-
360
C*4
92/12
Sprite Plu3-4-en
1 30.-
361
C64
92/12
Va1tozolista
150.-
362
CÓ4.-44
9 3/ 2
Szomszéd jatek
200.-
363
C64
93/ 2
Táblás játék
200.-
364
CÓ4
93/ 2
SEIjA
150.-
365
C64
43/ 2
415 * 200
120.-
306
+4
93/ 2
OTP hitel
lOÜ .-
A "-cjai .iíjlolt pro<3ramok csak lemezen rendelhetők !
EGYESÜLET
Kérem, hogy a Commodore Újság legközelebbi számában
jelenjen meg a következő szövegű apróhirdetés:
(minden kockába egy betűt írjon)
Feladandó az újság címére;
Commodore Újság
Budapest, 1388. Pf. 86.
Alulírott megrendelem a következő programokat a PÖTYÖ-
GÖSZOLGÁLAT-tól:
PROGRAM SORSZÁMA
Ara
1-
LU'- Ft
2.
LiJ '-Ft
3.
LU'- Ft
4.
LU'- Ft
5.
J LMFt
6.
LU'- Ft
7.
LU'- Ft
8.
LU'- Ft
9.
LU'- Ft
összesen:
LL
db IMI Ft
A programokat a SZOLGÁLAT által biztosított
lemezre (99 Ft/db)
kazettára (40 Ft/db)
az általam küldött adathordozóra kérem.
(Kérjük a megfelelő szöveg aláhúzását!)
Postaköltség (35 Ft)
A fizetés módja: személyesen — csekken — utánvéttel
(Kérjük a megfelelő szöveg aláhúzását!)
ÖSSZESEN:
A megrendelő neve; .
Címe:
APRÓCSKÁK
Tisztelt C-64 felhasználó!
Örömmel értesítem, hogy el¬
készült a NARANCS 3 6200
nevű katalóguskészítö prog¬
ram! A program ára 500 Ft,
amely tartalmazza a posta-
költséget is. Borbély Balázs,
1116 Budapest, Sáfrány u.
44. III. 33. Tel.: 162-7724.
C-64-re programok eladók
lemezre és kazettára, kedvez¬
ménnyel. Felbélyegzett vá¬
laszborítékért listát küldök.
Papp Mihály, 4034 Debre¬
cen, Sterbinszky u. 37.
Sürgősen eladó: C-64 +
floppy + játékok (100 db le¬
mez) + joy. Az árban meg¬
egyezünk. Staub Ferenc, Tel.:
1-755-240.
AMIGA 500 és A500 PIus
játék- & felhasználói progra¬
mok nagy választékban, mér¬
sékelt áron kaphatók ÉVÁ¬
NÁL! Listához, tájékoz¬
tatóhoz szükséges: 1 db
3,5-es lemez és 20 Ft-os bé¬
lyeg. Cím: Kopácsi Lajosné,
H-1031 Budapest, Vizimol-
nár u. 2. X/95.
Sürgősen eladó: SEGA Mas-
tersystem (tartozékokkal) +
játék, 1 db WB III. 10.000
Ft-ért. Staub Ferenc, Tel.:
1755-240.
Vennék C-16 alapgépre játék,
oktató és szövegszerkesztő
programot kazetta cartridge.
Lórik Ernő, 3524 Miskolc,
Hajós u. 4.
Eladó C-128 + 1571 floppy,
valamint kb, 200 db játékle¬
mez. Ár: 25.000 Ft. Hajdany
Ádám, 1145 Budapest, Újvi¬
lág u. 39/b.
Keresem C-64-re 1 kazettára
a Shoot’em un Construction
Kit-et (Fizetek, mint a kö¬
les!). Cím: 2626 Nagymaros,
Jókai u. 4. Tel.: (27) 54-342.
C-64-es programok eladók
lemezen. Csere is érdekel.
Érd: (Pád Softwer) 6772
Deszk, Alkotmány u. 4. Tel.:
(62) 372-491.
Olcsón eladó 200 MByte já¬
ték-, ill. felhasználói program
PC-re. Válaszborítékra tájé¬
koztató. Nagy István, 1202
Budapest, Mártírok útja 151.
rf=
NOVOTRADE—2C Kft. ÁRLISTA
Ft
Ft
Ft
Ft
Ft
Ft
Ft
Ft
Ft
Hardverek
C-64 alapgép 13 990
ve 1541/11 floppy drive 15 990
Datasette 2 990
Amiga 500 alapgép 39 990
Amiga 500 PIus alapgép 48 000
1351 Mouse (C-64-hez) 2 990
A 520 RF modulátor 3 900
Amiga tárbővítő 6 000
RocHard Hord disk Illesztő 22 500
RocHard Hord disk Illesztő +
40 Mbyte Winchester 50 000 Ft
RocGen Genlock RG300 10 750 Ft
Ethernet Card (A2000-hez) 35 000 Ft
MPS 1230 nyomtató 24 500 Ft
Philips 8833/11. (Amiga, C-64) 33 000 Ft
C64 játékok kazetta lemez
Chamonix Challenge 499 Ft 549 Ft
Eddie Edwards Super Ski 499 Ft 549 Ft
Hostages 549 Ft 599 Ft
Impossible Mission II 581 Ft 668 Ft
Rolling Twins/I want more... — 549 Ft
Operation Neptune — 599 Ft
Prohibition 499 Ft —
Sim City — 599 Ft
Space Racer — 599 Ft
Tin Tin on the Moon 549 Ft 599 Ft
Warlock's Quest 499 Ft 549 Ft
Xonox 399 Ft 499 Ft
Import járékkazetták 549 Ft —
2C Aruház, Budapest XIII., Balzac u. 35.
Tel.: 1402-954
Hardverkiegészítők
2 RCA kábel
3 RCA kábel
Hálózati kábel
Adat kábel
Antenna kábel
Antenna váltókapcsoló
C64/128 Euro kábel
Amiga Euro kábel
Ékezetes Eprom SP180 VC
Ékezetes Eprom MPS 1230
Joy (Quick Shot II PIus)
Tápegység C64
Tápegység VC 1541/11
410 Ft
575 Ft
480 Ft
360 Ft
340 Ft
490 Ft
685 Ft
1 250 Ft
2 545 Ft
3 500 Ft
850 Ft
3 000 Ft
3 000 Ft
12" mono filter
700 Ft
12" color filter
750 Ft
14" mono filter
800 Ft
14" color filter
850 Ft
Disk Box 5'25" 3 db
99 Ft
Disk Box 307 5'25"
50 db
700 Ft
Disk Box 309 5'25"
100 db
800 Ft
Disk Box 310 5'25"
120 db
850 Ft
Disk Box 313 3'5"
10 db
150 Ft
Disk Box 318 3'5"
40 db
550 Ft
Disk Box 319 3'5"
80 db
750 Ft
Disk Box 320 3'5"
140 db
800 Ft
Mouse Pad 581
250 Ft
Mouse Pad + Holder
500 Ft
Mouse Set
1 000 Ft
Cleaner 562 5'25"
150 Ft
Cleaner 563 3'5"
150 Ft
Mouse Holder
250 Ft
Mouse takaró
250 Ft
Copy Holder 411
750 Ft
Copy Holder 412
1 250 Ft
Display szemüveg
750 Ft
O MÁRCIUS 48
APRÓCSKÁK
Aniiga-500 plusz eladó, vagy
elcserélném. Kérek C-128 +
sz.monitort. Tel.: 25-29-411.
C-64-hez jó állapotú magnó,
floppy olcsón eladó. Szabó
Tibor, 6300 Kalocsa, Kisha-
las sor 9. 4. em. 14.
Felhasználói és játékprogra¬
mok lemezen. Adás-vétel-
csere. Válaszborítékért lista!
450 Ft. 1701 Budapest, Pf.:
229.
C-64 tulajdonosok. Pályázat
indult. Díjak 35.000 Ft-ért.
Két válaszborítékot küldj.
Varsányi, Szombathely, Nagy
L. u. 11.
Eladó C-64, Anitech monitor,
magnó, joy, 3 super, Games,
tartozékok, játékok. Nagy
Csaba, 1399 Bp., Pf.:
701/893.
C-64 + 1541 floppy + magnó
+ 2 db joystick + Seikosha
printer + 100 db programle¬
mez + irodalom eladó. Tel.:
Rácz Gyula, 153-4722/199
mellék.
C-64-es programokat cseré¬
lek és eladok. Lemezen 20
Ft/db. Felbélyegzett válasz-
borítékért listát küldök és ké^
rek. Kázmér Attila, 6000
Kecskemét, Gizella tér 2.
Tel.:(76) 486-257.
Eladó C-64/II. + 1541/11.
floppy + Datasette + modul
+ lemezek + kazetták + szak¬
könyvek. Irányár: 27.000 Ft.
Érdeklődni: az esti órákban a
99/28-826-os telefonon.
Eladói Megkímélt C-64-II. +
1531 Datasette (10.000 Ft).
Cím: Kápolnási János, 8200
Veszprém, Jutási út 63/A.
VI/38.
64-esek! Kazettára eladók
felhasználói, utántöltős és
egyéb programok, valamint
egy ritka cartridge 4 prog¬
rammal. Válaszboríték! Cím:
Szilágyi Ákos, 9024 Győr,
Répce út 17.
Eladó Commodore 128-as
komplett számítógép. Érdek¬
lődni lehet este 18 óra után.
Tel.: 1-271-173.
C-64 bővítők 700-1600, Final
III. 3000, epromégetők 2100
Ft-ért eladók. Válaszboríté¬
kért ismertető. Mikroklub,
8100 Várpalota, Pf.:65.
COVOX hangkártya PC-hez
tetszetőleges kiszerelésben
(erősítővel, zeneszerkesztő¬
vel, modulokkal, digitalizáló-
val) eladó! Alap kiszerelés
(kovox + modulok) 2500 Ft.
Erőlködövel 3500 Ft! Bármi¬
lyen menyiségben! 6 hóna¬
pos GARANCIA! Cím: 2626
Nagymaros, Jókai u. 4. Tel.:
(27) 54-342.
Eladó 25 db új 3M lemez
C-64 színvonalas játékprog¬
ramokkal 90 Ft/db áron,
vagy egyben 2000 Ft-ért.
Nagy István, 1202 Budapest,
Mártírok útja 151.
Plus/4 programcsere és prog¬
rameladás! Lemezen és ka¬
zettán! Válaszborítékért listát
küldök. Több mint 1000
programból válogathatsz!
Hartung Gábor, 6045 La-
dánybene. Gödörállás 55.
Olcsón eladó 200 MByte já¬
ték-, ill. felhasználói program
PC-re. Válaszborítékra tájé¬
koztató. Nagy István, 1202
Budapest, Mártírok útja 151.
Videós élmények C-64-en di¬
gitalizálva. Olvassa a képúj¬
ságot C-64-en 4000-féle
Commodore-alkatrész. Tel.:
173-17-83.
Programok készítését vállal¬
ja a BCSB TEAM C-64-re
és C+4-re. Cím: Sidló Csa¬
ba, 3242 Parádsasvár, Arany
J. u. 33.
Eladók fekete-fehér és zöld
monitorok 5000 Ft/db. Ér¬
deklődni: Kázmér Attila,
Tel.: (76) 486-257.
C-64-re kazettára, diskre ok¬
tatók, szótárak, könyvelői,
felhasználói, játékprogramok
5 Ft-tól. Leírások 40 Ft/oldal.
Egyedi programok készítését
vállalom. Borítékért tájékoz¬
tatom. Földes Jánosné, 5000
Szolnok, Győrffy J. u. 12. 1/7.
C-64-re programokat eladok,
csak lemezen! Válaszboríté¬
kért listát küldök. Czifra Zol¬
tán, 5231 Fegyvernek, Kiss
János út 18/a.
C-64 program 3 Ft-ért? Igen!
Lemezre és kazettára, játé¬
kok, demók felhaszn^óik
csak nálam! Cím: Kovács
Krisztián, 6750 Szeged-Al-
győ, Bartók Béla u. 6.
C-64 + floppy-1541 + 40 le¬
mez + magnó + 20 db ka¬
zetta + 2 db joy. Ár: 24.000
Ft. Cím: 1191 Budapest, Hu¬
nyadi u. 21. fszt. 21. 14 óra
után.
Keresek C-64-hez Artstudió-
hoz printconfig, GEOS-hoz
egér meghajtó fiiét, Printfox
programot. Povisel I., 7135
Dunaszentgyörgy, Csapó u. 2.
C-64 programok eladása ka¬
zettán! Szuperprogramok
nagyban olcsón! írjatok! Bü-
di Norbert, 3900 Szerencs,
Csalogány u. 34/a.
C-64-hez vádi új 1351 mouse
csak 2000 Ft!!! ACTION
Replay VII. 2200 Ft. 576
Kbyte 91/1-11 és 92/2-9-ig
teijedő számai csak 400 Ft!!!
Cím: Badenszky Csaba, 2800
Tatabánya, Fő tér 9.
Játék- és felhasználói progra¬
mok eladók. Bélyeggel ellá¬
tott válaszborítékért listát és
tájékoztatót küldünk. Kéijük,
tüntesse fel a gépe típusát, és
a hozzá tartozó perifériákat!
(Vízhatlan csomagolás, ked¬
vezmények!)
(AMIGA) FRIEND TWO
CREW, 1399 Bp., Pf.:
701/55.
(C-64) BORBÉLY BA-
LÁZS-BUMBLE BEE, 1116
Bp., Sáfrány u. 44.
(IBM) PROSZOLG, 1399
Bp., Pf.: 636.
Eladó 1541/lI-es garanciasza¬
lagos Commodore drive
12.500 Ft-ért, valamint 100-as
lemeztartók 500 Ft/db áron.
Érdeklődni lehet a 135-1289-es
telefonszámon.
Az EPROM BT. A Commodore 64-re az ismert D&T cart¬
ridge családja mellett kifejleszteti egy teljesen új. két rész¬
ből álló modulrendszert.
Részei:
1./ BASIC MODUL
Jelölése: BM.
Helye: a C-64 ROM bővítő portja.
Tartalma: - NYÁK csatlakozó, a cserélhető
modulok számára,
- RÉSÉT gomb.
Fogadhat: 1 vagy 2 — csak cégünk által progra¬
mozott — IC-t
A cserélhető modul helyes csatlakoztatása mechani¬
kusan biztosított.
2.1 CSERÉLHETŐ MODUL
Helye: a BASIC MODUL NYÁK csatlakozója.
Megnevezése: játékprogramok esetén
GAME MODUL.
1 IC-vel 85—100 Kbyte terjedelem,
4 változat, 4—5 program/változat.
2 IC-vel 170—200 Kbyte terjedelem,
6 változat 8—10 program/változat.
Szoftveres menüváltás és modulkikapcsolás.
Minden termékre 6 hónap garancia + használati útmutató.
Árak: BASIC MODUL 1100 Ft,
GAME MODUL 1000 Ft 1 IC-vel,
2000 Ft 2 IC-vel.
Az árak az ÁFA-t tartalmazzák!
Megrendelhető: EPROM BT.
1046 Budapest, Török I. u. 25.
Tel.: (1) 1690-779 Postai utánvét!
MÁRCIUS
/
ACOMP Kft.
MÁRCIUSI
60 Ft-os
vásárlási utalványa
Beváltható
készpénzes vásárlás esetén a
1141 Budapest, Álmos vezér útja 17.
szám alatti üzletben.
Érvényes: 1993. március 31-ig.
Egy személy részére egyszeri vásárláshoz
egy utalvány használható fel!
A NOVOTRADE SZERVÍZ Kft. az alább felsorolt szervizeiben
mindenféle szervizszolgáltatás munkadíjából 10% kedvez¬
ményt ad az egyesületi tagoknak.
1083 Budapest, Szigony u. 9.
3525 Miskolc, Fazekas u. 1—3.
5600 Békéscsaba, Bartók B. u. 37.
6724 Szeged, Csongrádi sugárút 76.
8000 Székesfehérvár, Rádió u. 15/A.
9700 Szombathely, Szalonak u. 31.
Tel.: 134-3153
Tel.: 46/321-488
Tel.: 66/327-195
Tel.: 62/313-377
Tel.: 22/319-765
Tel.: 94/14-519
N
Sas
>
ct
LU
N
(O
Igazolás: a javítandó berendezés leadásakor egyesületi Igazolvánnyal.
A kedvezmény többször is igénybe vehető.
MAKROVILÁG
utazási iroda
Beváltható
utazás megrendelése esetén
az Üllői úti főirodában az alábbiak szerint:
5 000 Ft-lg — 200 Ft kedvezmény
10 000 Ft-ig — 400 Ft kedvezmérry
20 000 Ft-ig — 500 Ft kedvezmény
20 000 Ft feiett — 1000 Ft kedvezmény
Cso[X)rtok jeientkezése esetén további
kedvezményekről az Irodában lehet tárgyalni
MÁRCiUSi
60 Ft-os
Az Országos Commodore Egyesület szolgáltatásai
Egyesületi tagoknak 20% kedvezmény:
VC—20 memóriabővítés 3—27 kByte-os: kiépítéstől függő
C—16, C—116 memóriájának bővítése 64 kByte-ra: 3500 Ft
C—16 belső 16 kByte-os EPROM bővítés: 1450 Ft
C—16 belső 32 kByte-os EPROM bővítés: 2900 Ft
C—16 belső 8 kByte-os SOFT—ROM bővítés: 2800 Ft
C—16 belső 32 kByte-os SOFT—ROM bővítés: 4000 Ft
C—16 8 kByte-ról 32 kByte-ra átalakítás: 2000 Ft
C—16 és 1541 kompatibilis lemezegység párhuzamosítása: 3200 Ft
SOFTROM modul 32K, kikapcsoláskor sem felejt C-16, C-116, +4 5000 Ff
FÉK C—16, C—116, +4 potméteres sebességváltoztatás
0%-tól 100%-ig fokozatmentesen 2000 Ft
TTL IC-teszter (Cartridge+lemezen a program) 4300 Ft
+4, C—16. C—116 UNI—ROM rrodul különféle kiépítésekben:
— 8 kByte SOFT—ROM 3400 Ft
— 16 kByte SOFT—ROM 4000 Ft
— 8 kByte SOFT—ROM 16 kByte EPROM 4400 Ft
— 16 kByte SOFT—ROM 16 kByte EPROM 5000 Ft
— 16 kByte EPROM 2200 Ft
Egyesület tagoknak 30% kedvezmény:
vásáriási utaivány
Beváltható készpénzes
vásárlás esetén a 20 Áruházban.
Bp. XIII., Balzac u. 35.
Érvényes: 1993. március 31-ig.
HOBBI ELEKTRONIKA
MÁRCiUSi
vásáriási utalványa
Értéke:
5000 Ft-ig 80Ft,
5000 Ft feiett 10%
Beváltható a Hobbi Elektronika Kft.-nél.
Budapest VII., Dózsa György u. 16.
Telefon: 122-8892
Egy személy részére egyszeri vásárláshoz
egy utalvány használható feli
Speeddos (átkapcsolható) operációs rendszer beépítése
(C64 átalakítás, lemezegység átalakítás + párhuzamos kábel)
1541 kompatíbilis lemezegységbe elektronikus lemezlyukasztó beépítése
PAGEFOX magyar ékezetes kiadvány-szerkesztő cartridge
(a teljes A/4-es oldal kinyomtatásához 640 pont/soros nyomtató szükesé-
ges minimum, pl. Citizen 120D)
FASTLOAD cartridge (lemezes gyorstöltő, másoló, monitor)
TTL IC-teszter cartridge -I- program
288/256 Kbyte-os eprombank (vezérlő eprommal)
Epromégető (2716-tól 27512-ig)
C64-hez tároló oszcilloszkóp
C64-bővItő-port elosztó (egyszerre 4 db cartridge lehet a gépben, melyeket
gombnyomásra lehet kapcsolni)
C64 USER - CENTRONICS nyomtatókábel (GEOS kábel)
256 K RAM-diszk (256 Kbyte RAM-mal)
256 K RAM-diszk (64 Kbyte RAM-mal)
2x64 Kbyte-os cartridge igény szerinti programokkal feltöltve
64 Kbyte-os cartridge igény szerinti programokkal feltöltve
Képújság (teletext) dekóder C-64-re
Epromok programozása meglévő programokkal, vagy saját hozott progra¬
mok beégetésével 2716-tól 27612-ig az eprommal együtt egységesen
Arainkat az alkatrészárak változásai befolyásolhatják.
A fenti bővítések megrendelhetők levélben az O.C.E. címén, valamint sze¬
mélyesen a havonta rendezendő klubdélelőttön, ahol rendszeres bemutatót
is tartunk.
Postázás esetén 100 Ft postaköltség kerül felszámításra.
A kedvezmény igénybevételéhez az O.C.E. tagsági igazolvány bemutatása
szükséges.
5000 Ft
900 Ft
5500 Ft
1500 Ft
4300 FT
5000 Ft
5000 Ft
8000 Ft
7500 Ft
1500 Ft
14Ó00 Ft
9000 Ft
4.300 Ft
3000 Ft
10000 Ft
700 Ft
50
Elköltöztünk!
Értesítjük tisztelt ügyfeleinket,
hogy a
Budapest V., Magyar utca 12—14. szám
alatti szervize elköltözött.
Uj címünk:
1083 Budapest VIII.,
Szigony utca 9.
Telefon/Fax: 134-31-53
számítástechnikái kft.
1141 Budapest, Álmos vezér útja 17., Tel.: 183-1817, Fax: 251-2523
Commodore Amiga 500
37 900
Ft
Commodore Amiga 500 Plus
41 900
Ft
Commodore Amiga 600
43 900
Ft
Commodore Amiga 1200
67 900
Ft
Commodore 1084 s Stereo-Color monitor
30 900
Ft
Commodore A-520 TV-Modulator
3 500
R
Commodore C-64 II
11 900
R
Commodore C-128D
24 900
R
Commodore 1541 II Floppy
15 890
R ;
Commodore 1802 monitor
24900
R
Commodore 1352 mouse (eredeti Amiga)
5990
R
Commodore Datassette
2 500
R
Philips 8833 II. Stereo-Color monitor
30 900
Ft
512 Kb órás memóriabővítő
3 200
Ft
2.0 Mb órás memóriabővítő
14 900
Ft
1.0 Mb-os chip bővítő Amiga 500 Plus-ba
6 900
Ft
1.0 Mb-os órás chip bővitő Amiga 600-ba
7 900
Ft
3.5” külső floppy drive
9 490
Ft
Roctec 5.25” külső floppy drive
12 900
Ft
Samsung 24 tűs printer
37 500
R
Quickshot II joystick
690
R
Quickshot II plus joystick
890
Ft i
Quickshot II Turbo Joystick
990
Ft
Quickshot QS - 113 analóg joystick
990
Ft
Quickshot QS - 123 analóg joystick
1 290
Ft
Action Replay MK III (Amiga) kézikönyvvel
9 990
Ft
4 Player Adapter - 4 Joystick csati.
1 890
Ft
Action Replay MK VI (C-64) kézikönyvvel
5 900
R
C-64 midi szoftverrel
6 500
Ft
C-64/C-128 mouse
2 500
R !
Swifty Amiga/Atari Mouse
2 500
R
Sv/ifty Amiga Mouse (3 gombos)
2 600
R '
Mouse/Joystick autómatikus kiválasztó
1 990
Ft
Noris MB 10 3.5" lemeztartó
150
Ft
Noris MB 40 3.5" lemeztartó
490
Ft
Noris MB 80 3.5” lemeztarló
690 Ft
Noris DB 10 5.25” lemeztartó
150 Ft
Noris DB 50 5.25” lemeztartó
490 Ft
Noris DB 100 5.25” lemeztartó
690 Ft
Noris Amiga 500 porvédő
990 Ft
Noris C-64 II porvédő
790 Ft
Noris MF 14 C 14” monitorfilter
590 Ft
Noris Mouse pad
250 Ft
Sound Blaster Pro-2 basic
16900 Ft
Midi Amiga Interface
2 090 Ft
Handyscanner Amigához
13900 Ft
Boot Selector Amigához
1 490 Ft
Stereo hangdigitalizáló Amigához
6900 Ft
Trackball Amigához
3590 Ft
Képdigitalizáló + RGB Splitter
12 900 Ft
Rochard HD kontroller A500/A500-t-
24 990 Ft
(AT Bús, 0-8 Mbyte Ram)
+ 40 Mbyte Winchesterrel
47900 Ft
-K 80 Mbyte Winchesterrel
50 900 Ft
+ 1 Mbyte SIMM Ram
4 990 Ft
Amiga Magazin / Power Play újságok
450 Ft
NoName 3.5” DSDD lemez
550 Ft
NoName 3.5" DSHD lemez
850 Ft
NoName 5.25” DSDD lemez
270 Ft
NoName 5.25” DSHD lemez
430 Ft
3M 3.5” DSDD lemez
890 Ft
Maxell 3.5” MF2-DD lemez
990 Ft
Maxell 3.5” MF2-HD lemez
1 690 Ft
Maxell 5.25” MD2-D lemez
590 Ft
Maxell 5.25” MD2-HD lemez
890 Ft
Profex 3.5" DSDD lemez (11 darabos)
790 Ft
Profex 3.5” DSHD lemez (11 darabos)
1 390 Ft
Profex 5.25” DSDD lemez (11 darabos)
350 Ft
Profex 5.25" DSHD lemez (11 darabos)
600 Ft
Fuji 5.25" MD 2DD lemez
450 Ft
Áraink az 1 év garanciát és az ÁFA-t tartalmazzák!
Nyltvatartás 9—18 óráig, szombaton: 9—13 óráig.
Vidéki vásárlóknak utánvételes csomagküldő szolgálati
Az árajánlatban szereplő adatok, árak mindenkori változtatásának jogát fenntartjuk!